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?

  • Passerby6497@lemmy.world
    link
    fedilink
    English
    arrow-up
    1
    ·
    3 days ago

    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.

    • paequ2@lemmy.todayOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      23 hours ago

      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.

      • Passerby6497@lemmy.world
        link
        fedilink
        English
        arrow-up
        1
        ·
        23 hours ago

        I usually just do

        Docker compose down
        Docker compose up -d
        

        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

        • paequ2@lemmy.todayOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          22 hours ago

          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 for DB_DATA_LOCATION and/or UPLOAD_LOCATION and then I ran docker compose up -d I think. But nothing changed…