Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Any chance you could outline your process? E.g. if you had to start from a new VM, what all would you need to do?

I've always just set everything up via the command line, and it's tedious/not repeatable (and there's also no isolation). I'm sure there's a better way, but usually the solutions I see involve gluing together a bunch of different tools--possibly even more work than I'm already doing (although there are benefits!).



Sure! My requirements are very simple, so my setup isn’t very complicated. The process isn’t precisely repeatable because each self-hosted app has different requirements, some require multiple containers, and so on.

I start with a template docker-compose yaml that contains the barebones: network settings, labels for Traefik (eg. Let’s Encrypt config), placeholders for the image/container name, volumes, env variables, etc. I fill this in based on the container I want to setup. Many self-hosted apps provide example docker-compose configurations - I often just merge them with my template by hand. It’s usually just a couple of lines.

I edit the files in vscode (but directly over ssh). Not a huge fan of editing YAML in the terminal.

Then, I execute an aliased command that goes something like this:

  docker-compose down ; docker-compose pull && docker-compose up -d && docker-compose logs -f
to see if the container stands up, and tweak if necessary.


Can't speak for the parent but since I also use a docker-compose & traefik based setup I can describe my migration process (executed by ansible in my case, could easily be done manually though):

1. Copy docker-compose.yml (for my private stuff there is a single one containing all services + traefik) and config files (host-mounted into services from a config dir) to new host.

2. Start services (docker-compose up).

3. Restore runtime data (in my case I mostly pull some db dumps from my restic repos and load them into the db containers).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: