AresMUSH / aresmush

AresMUSH online text-based game server
Other
30 stars 107 forks source link

Docker support #89

Closed DieterKoblenz closed 4 years ago

DieterKoblenz commented 4 years ago

It might be a long shot, but would you see any chance to support a Docker container in the future? This would lead to easy distribution and setup.

lynnfaraday commented 4 years ago

Thanks for the suggestion. I looked into Docker awhile back actually, and I've used it for the Discourse forums. I don't think it would be appreciably easier to set up than the installer I already have. In some ways it would actually be more difficult to manage, because Docker obscures some things from you and requires additional installation and commands of its own.

In the supported environment, running the Ares installer is basically copying&pasting two sets of commands and then answering a few questions about your game. Plus I offer Easy Mode setup for folks who are not comfortable setting it up themselves. At this point I don't feel that an investment in Docker would pay dividends.

stevensmedia commented 4 years ago

Please reconsider this.

I've installed Ares several times. Every time I haven't quite been able to use your copy/pasted or scripted process unmodified, because the environment I'm using is slightly different from the one you're using. That's normal. It happens.

In 2020 there are many, many different hosting providers, and a tool like this ought to be able to run in any of them. EC2/Lightsail, Azure, Rackspace, Droplets, VMWare, VirtualBox, you name it. These days people use lots of different options for running a service.

Docker solves this problem. With Docker, you could choose a specific base image to build on, and then just by magic, your installer script would be guaranteed to work every time.

Wouldn't that be great? I think it would legitimately help Ares adoption.

Please do consider supporting Docker.

Thank you. I do appreciate your work.

mrsenile commented 4 years ago

I have to agree to the others.

Recently, Evennia had an issue where it resource starved someone's cloud instance, so having a container where you can put a ceiling on resources I think would be a win for an abstracted layer subsystem like Ares (and Evennia) where you have more overhead as well as more abstraction on how resources are not only utlized but capped.

Containers may not be the answer for everyone, but for those who have pidgeon holed systems that they want to spin up and not arbitrary resources available, I think it'd be a total win.

lynnfaraday commented 4 years ago

Those are valid points. Thank you for the feedback.

Right now there are no plans to support Docker but I won't rule it out for the future.

lynnfaraday commented 4 years ago

Something occurred to me after I responded. @stevensmedia wrote:

I've installed Ares several times. Every time I haven't quite been able to use your copy/pasted or scripted process unmodified, because the environment I'm using is slightly different from the one you're using.

Just to highlight the warnings in the install instructions -- the automtated install scripts only work in the supported environment. They will not work right (and may cause undesirable effects) in other environments.

If folks want to use an unsupported environment, that's totally cool. As you say, there are zillions of other hosts/environments out there to choose from and I'll do my best to answer any installation questions that crop up. However, I make no promises to support all of them, for reasons that span time, motivation, and knowledge.

What I do provide is a quick and easy MU setup in the supported environment (currently verified on both Linode and Digital Ocean) for folks who lack the technical experience to set up a web server, database, etc. on their own. The resulting environment is easy to manage/troubleshoot for them as well. Docker has overhead. It has a learning curve. It is not well-suited to that audience.

So sure, in a perfect world it would be nice to have a docker setup for folks who want a compartmentalized install for their environment. It's just not on the radar right now. Perhaps someday.