Hello,

I’ve noticed that when I restart my docker compose stack, the app seems to think that the server doesn’t have copies of the latest files and re-uploads them.

The files can be seen in the filesystem of the host, but not through the web interface until they have been re-uploaded. The app uploads duplicates of all the files, at which point the web can see them again, and the fs has duplicates of everything.

This happens when I restart the stack, no upgrades to the system, just docker compose down and docker compose up -d

My set up is using an unmodified compose file from the docs. Any ideas what I could be doing wrong?

  • anytimesoon@feddit.ukOP
    link
    fedilink
    English
    arrow-up
    1
    ·
    5 months ago

    I haven’t had time to look into this, but I think this might be the right track. Is it possible for docker to get volumes mixed up? Like, could there be a duplicate dB volume and when the stack gets restarted, docker picks one or the other?

    To answer your question, I’m running docker 26.1.1 on Ubuntu server 22.04.4 LTS

    The system is on an ssd and the storage is a three disk raid5

    • MangoPenguin@lemmy.blahaj.zone
      link
      fedilink
      English
      arrow-up
      1
      ·
      edit-2
      5 months ago

      Like, could there be a duplicate dB volume and when the stack gets restarted, docker picks one or the other?

      I’m not sure that is possible. Once a service has a volume defined it’ll use that unless you manually change it.

      But if you don’t have a volume defined, data won’t persist when the service is updated.

      If you’re just using the compose stack given by Immich, then everything should be set up properly though.

      • anytimesoon@feddit.ukOP
        link
        fedilink
        English
        arrow-up
        1
        ·
        5 months ago

        The volume is defined like this at the end of the compose file

        database:
            container_name: immich_postgres
            image: registry.hub.docker.com/tensorchord/pgvecto-rs:pg14-v0.2.0@sha256:90724186f0a3517cf6914295b5ab410db9ce23190a2d9d0b9dd6463e3fa298f0
            environment:
              POSTGRES_PASSWORD: ${DB_PASSWORD}
              POSTGRES_USER: ${DB_USERNAME}
              POSTGRES_DB: ${DB_DATABASE_NAME}
            volumes:
              - pgdata:/var/lib/postgresql/data
            restart: always
        
        volumes:
          pgdata:
          model-cache:
        
        • MangoPenguin@lemmy.blahaj.zone
          link
          fedilink
          English
          arrow-up
          1
          ·
          5 months ago

          Yeah that looks fine, odd.

          I assume this is a pretty normal install of Ubuntu, and /var/lib/docker hasn’t been messed with at all?

          • anytimesoon@feddit.ukOP
            link
            fedilink
            English
            arrow-up
            1
            ·
            5 months ago

            That’s correct. Ubuntu is basically just a platform to run docker, haven’t really touched it. Docker is the same. Just using it to run my containers. Haven’t ventured at all into /var/lib/docker