How do y’all manage all these Docker compose apps?
First I installed Jellyfin natively on Debian, which was nice because everything just worked with the normal package manager and systemd.
Then, Navidrome wasn’t in the repos, but it’s a simple Go binary and provides a systemd unit file, so that was not so bad just downloading a new binary every now and then.
Then… Immich came… and forced me to use Docker compose… :|
Now I’m looking at Frigate… and it also requires Docker compose… :|
Looking through the docs, looks like Jellyfin, Navidrome, Immich, and Frigate all require/support Docker compose…
At this point, I’m wondering if I should switch everything to Docker compose so I can keep everything straight.
But, how do folks manage this mess? Is there an analogue to apt update
, apt upgrade
, systemctl restart
, journalctl
for all these Docker compose apps? Or do I have to individually manage each app? I guess I could write a bash script… but… is this what other people do?
Docker compose pull; docker compose down;docker compose up -d
Pulls an update for the container, stops the container and then restarts it in the background. I’ve been told that you don’t need to bring it down, but I do it so that even if there isn’t an update, it still restarts the container.
You need to do it in each container’s folder, but it’s pretty easy to set an alias and just walk your running containers, or just script that process for each directory. If you’re smarter than I am, you could get the list from running containers (docker ps), but I didn’t name my service folders the same as the service name.
What commands do you have to run after you update
docker-compose.yml
or.env
files? I updated one of those files once bad things happened… I haven’t had to update the configs in a long time.I usually just do
As I would with any service restart. The up -d command is supposed to reload it as well, but I prefer knowing for certain that the service restarted.
Out of curiosity, what did you update and what broke? I had that happen a lot when I was first getting started with docker, and is part of how I learned. Once you have a basic template (or have dec supplies example files), it makes spinning up new services less of a hassle.
Though I still get yelled at about the version entry in my fines because I haven’t touched mine in forever
My breakage happened a while ago, so I don’t quite remember all of the details…
but what I think happened was I updated
/etc/immich/.env
. I updated the path forDB_DATA_LOCATION
and/orUPLOAD_LOCATION
and then I randocker compose up -d
I think. But nothing changed…