Well, after a while in the container world ive come to realise that keeping all these containers up to date is hard work and time consuming with simple docker compose. I’ve recently learnt that portainer may come to hand here. I believe that feeding the yaml file through portainer allows the latter to take control of updates. Correct?

I have a Truenas Scale machine with a VM running my containers as i find its the easiest approach for secure backps as i replicate the VM to another small sever just in case.

But i have several layers to maintain. I dont like the idea of apps on Truenas as I’m worried i dont have full control of app backup. Is there a simpler way to maintain my containers up to date?

  • Kushan@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    You’ve done the hard work building the compose file. Push that file to a private GitHub repository, set up renovate bot and it’ll create PR’s to update those containers on whatever cadence and rules you want (such as auto updating bug fixes from certain registries).

    Then you just need to set up SSH access to your VM running the containers and a simple GitHub action to push the updated compose file and run docker compose up. That’s what I do and it means updates are just a case of merging in a PR when it suits me.

    Also I would suggest ditching the VM and just running the docker commands directly on the TrueNAS host - far less overheads, one less OS to maintain and makes shares resources (like a GPU) easier to manage.

    You should look at restic or Kopia for backups, they are super efficient and encrypted. All my docker data is backed up hourly and thanks to the way out handles snapshots, I have backups going back literally years that don’t actually take up much space.

  • Caveman@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    Since there’s no lack of solutions here I’m going to add one more. If you manage to create bash to update the containers then you can have it run with a systemd service that’s easy to set up. It’s very easy to set up and it’ll work the same as running the command no your computer.

  • monkeyman512@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    I just started playing with Dockhand and it looks like it has a built in update schedule mechanism. It’s fills a comparable role as Portainer, so maybe check that out.

    • Lemmchen@feddit.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      What I really like about Dockhand is the built-in vulnerability checker for images.

  • SkyNTP@lemmy.ml
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    Are you updating 1000’s of stacks every week? I update a couple critical things maybe once a month, and the other stuff maybe twice a year.

    I don’t recommend auto updates, because updates break things and dealing with that is a lot of work.

    • IratePirate@feddit.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      I don’t recommend auto updates, because updates break things and dealing with that is a lot of work.

      Learnt this the hard way. Been version pinning ever since.

    • frongt@lemmy.zip
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      I’ve had auto updates on since day one, and the only thing that has ever broken was when filebrowser changed to filebrowser quantum. I just needed to update my config.

      • SkyNTP@lemmy.ml
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        I guess it depends what you run, and how the projects/containers are configured to handle updates and “breaking changes” in particular.

        But also, I’m being a bit broad with the term “breaking changes”. Other kinds of “breaking changes” that aren’t strictly crashing the software, but that still cause work include projects that demand a manual database migration before being operational, a config change, or just a UI change that will confuse a user.

        The point is, a lot of projects demand user attention which completely eclipses the effort required to execute a docker update.

        • frongt@lemmy.zip
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 month ago

          Well, I also use Stash, and every couple weeks I get prompted to do a database schema upgrade. So I click the button and a few seconds later I’m back to using it.

          A while back, some of the arrs started requiring authentication, so I had to create a password.

          But outside of those scenarios, I don’t think I’ve seen any significant changes. There’s always slight changes, but I’m pulling updates because I want those changes.

          If there is some unusual case where a change is really unwanted, I’ll downgrade and/or restore from backup.

  • irmadlad@lemmy.world
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    I run about 70 containers. I really don’t find it that difficult. I do run a Watchtower fork, but I run it with --run-once --cleanup. I do that once a month after I feel confident that everyone else has done all the beta testing on the new updates for me. So hats off to all you guys who just yolo your updates. You are an invaluable resource to the selfhosting community. Thank you.

    As far as Linux updates, I’m running Ubuntu Jammy so those updates don’t usually introduce breaking changes and I complete them as they become available. I use Portainer, but I am unaware of any auto—update features for Docker containers. You can feed it a new yaml and it will replace or recreate the container based on that yaml, but it doesn’t do it automatically. Portainer is just a handy way to consolidate all your container administration in one place in lieu of using the terminal.

    There are other options to updating your containers like WUD, or similar. They will alert you that there is an update, but you have to manually initiate the update. Anecdotally, I’ve only encountered one breaking change and that was when Portainer updated, but was incompatible at the time with the current version of Docker, or something like that. Memory is foggy this morning. It took about an hour to find a fix, and implement it, so it wasn’t an excruciating change up.

    • lankydryness@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      I messed around in portainer before and I think possibly OP is referring to their feature where it can watch a git repo and anytime a change occurs, it’ll try to do a pull and recreate the container.

  • AzuraTheSpellkissed@lemmy.blahaj.zone
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    At work I use kubernetes and quite like that (upgrading containers without downtime FTE), but I didn’t bother trying to set up the infrastructure myself. Some argue, it’s not with the efford for self hosting, I dunno.

    What I do like to use is Dockge, to keep docker but also keep your sanity. It even offers a single button for “docker compose pull”, which is great of you don’t have to many compose files / stacks. Combine with a simple shell script to batch pull/build all stacks in one go, plus some backup solution, and it’s actually nice to use and does all that I need. I love CLIs, but I’ve had situations where the GUI came in very handy.

    #! /bin/bash
    # note: this will update and START all dockge stacks, even if you stopped them before
    shopt -s nullglob
    for proj in /opt/dockge /opt/stacks/*/; do
      echo "> $proj"
      docker compose -f "$proj/compose.yaml" up --pull always --build --detach
      echo ""
    done
    
  • dieTasse@feddit.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    I think you would be fine just installing the apps in TrueNAS. You can have snapshots, you can have remote backup with e.g. StorJ and updating is so easy. I was also doing stuff manually but eventually found out that it’s not worth it. And realistically I won’t stop using TrueNAS anytime soon.

    • dustyData@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      Truenas apps are just docker containers that were written by someone else anyways. You can always just turn them into a custom app and see it’s internal composition, o just make a custom app and choose the image and settings yourself exactly like in portainer.

  • ultimate_worrier@lemmy.dbzer0.com
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    Use Nix. It is MUCH more deterministic and capable than silly Docker. It can even be used to deterministically create docker images if you really need them.

    • BozeKnoflook@lemmy.world
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      Am I mistaken, but isn’t Nix a package manager, where Docker is a container system? They’re related, but really not comparable.

      • ultimate_worrier@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        You’re badly misinformed.

        Nix is a language, a package manager (the biggest in the world), a dev environment scaffolding, a systemd orchestration tool, a full Linux distribution, and pretty much anything that you can describe infrastructure-as-code as. You can literally do almost anything with Nix. You can even build entire OCI/Docker images with just one Nix file.

  • Damarus@feddit.org
    link
    fedilink
    English
    arrow-up
    0
    ·
    1 month ago

    With Portainer you can do GitOps and have something like Dependabot notify you of updates. I don’t believe, Portainer offers completely unattended container updates.

    If you want it automated, use one of the recent Watchtower forks. It’s not recommended as automated updates may break things or introduce malware through compromised accounts, however it has worked pretty well for my personal stuff. I wouldn’t recommend it for business use.

    • cron@feddit.org
      link
      fedilink
      English
      arrow-up
      0
      ·
      1 month ago

      With portainer business, you could easily build an update procedure yourself. Just create webhooks for the stacks you want to update and run a daily curl script that triggers these hooks.

      • slazer2au@lemmy.world
        link
        fedilink
        English
        arrow-up
        0
        ·
        1 month ago

        You get 3 free business licences for free so there isn’t a reason to not use the community edition for small environments.

        • Midnight Wolf@lemmy.world
          link
          fedilink
          English
          arrow-up
          0
          ·
          1 month ago

          My first used license ‘expired’ after a year, even though I’m 99% sure they are perpetual. So I’m on my second, waiting for that to expire too…

  • Decronym@lemmy.decronym.xyzB
    link
    fedilink
    English
    arrow-up
    0
    ·
    edit-2
    1 month ago

    Acronyms, initialisms, abbreviations, contractions, and other phrases which expand to something larger, that I’ve seen in this thread:

    Fewer Letters More Letters
    Git Popular version control system, primarily for code
    HTTP Hypertext Transfer Protocol, the Web
    IP Internet Protocol
    SSH Secure Shell for remote terminal access
    SSL Secure Sockets Layer, for transparent encryption
    TCP Transmission Control Protocol, most often over IP
    k8s Kubernetes container management package

    6 acronyms in this thread; the most compressed thread commented on today has 7 acronyms.

    [Thread #214 for this comm, first seen 5th Apr 2026, 15:30] [FAQ] [Full list] [Contact] [Source code]