Re:Deploying Mastodon on Digital Ocean
by weberc2 on Thursday November 15, 2018 @10:37AM
(#18460038)
Docker only solves the dependency problem for static file dependencies. For things like databases or other services, you still have to stand those up yourself or use another orchestration tool. Beyond that, Docker also puts the onus on the user to solve for networks and volumes and environment variables and secrets management and configuration management.
"Docker" is perhaps part of the solution, but only a very small part.
Re:Deploying Mastodon on Digital Ocean
by kamaln7 on Thursday November 15, 2018 @11:59AM
(#18460952)
Yep. That’s where docker compose comes in. It takes care of the whole process of linking together different docker containers as well as configuration of each of them (such as env vars).
Re:Deploying Mastodon on Digital Ocean
by weberc2 on Thursday November 15, 2018 @04:21PM
(#18463471)
Compose is just a declarative syntax for your stack. Ironically it's not composable. In other words, it's not a package definition--you can't ship a compose file that will "just run" anywhere. For example, most web apps require a database, but you don't want to run one database per web app. How do you write a compose file that says, "use the system postgres if available, otherwise spin up a new one". It also totally punts on secret and config management.
Helm is the closest thing to a package manager for Docker, but it targets Kubernetes, not vanilla Docker (and k8s is overkill for a single server, at least considering the time/expertise required to stand up a productionized k8s installation).
Docker. Its how any software can be packaged with its dependencies. Best for linux serverside/webapp software.
Install and run a docker with one console command, just provide a network-port and folder mapping.
Or use a webinterface, i like how Unraid does this. If you have a old server/PC to spare, definitely try Unraid.net by just booting it from USB stick.