Cloudron makes it easy to run web apps like WordPress, Nextcloud, GitLab on your server. Find out more or install now.


Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Bookmarks
  • Search
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Brand Logo

Cloudron Forum

Apps - Status | Demo | Docs | Install
  1. Cloudron Forum
  2. Immich
  3. Immich broken after update to 3.0.1

Immich broken after update to 3.0.1

Scheduled Pinned Locked Moved Solved Immich
13 Posts 6 Posters 267 Views 7 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • SansGuidonS Offline
    SansGuidonS Offline
    SansGuidon
    wrote last edited by SansGuidon
    #1

    Hi
    Immich has stopped loading/responding, those lines repeat infinitely in the logs:

    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM     LOG [Api:WebsocketRepository] Initialized websocket server
    Jul 05 21:56:31 [Nest] 197001  - 07/05/2026, 7:56:31 PM     LOG [Microservices:MapRepository] Starting geodata import
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM     LOG [Api:DatabaseRepository] targetLists=1, current=1 for clip_index of 32213 rows
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM     LOG [Api:DatabaseRepository] targetLists=1, current=1 for face_index of 36716 rows
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM     LOG [Api:DatabaseRepository] Running migrations
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM     LOG [Api:DatabaseRepository] Finished running migrations
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM     LOG [Api:DatabaseService] Checking for schema drift
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM    WARN [Api:DatabaseService] Detected schema drift. For more information, see https://docs.immich.app/errors#schema-drift or run `immich-admin schema-check`
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM    WARN [Api:DatabaseService]   - The index "geodata_places"."idx_geodata_places_name" is missing and needs to be created
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM    WARN [Api:DatabaseService]   - The index "geodata_places"."idx_geodata_places_admin2_name" is missing and needs to be created
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM    WARN [Api:DatabaseService]   - The index "geodata_places"."idx_geodata_places_admin1_name" is missing and needs to be created
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM    WARN [Api:DatabaseService]   - The index "geodata_places"."idx_geodata_places_alternate_names" is missing and needs to be created
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM    WARN [Api:DatabaseService]   - The constraint "geodata_places"."geodata_places_pkey" (primary-key) is missing and needs to be created
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM    WARN [Api:DatabaseService]   - The constraint "naturalearth_countries"."naturalearth_countries_pkey" (primary-key) is missing and needs to be created
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM     LOG [Api:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
    Jul 05 21:56:31 [Nest] 197013  - 07/05/2026, 7:56:31 PM     LOG [Api:StorageService] Successfully verified system mount folder checks
    Jul 05 21:56:31 /usr/src/app/server/dist/utils/config.js:121
    Jul 05 21:56:31 throw new Error(messages.join('\n'));
    Jul 05 21:56:31 ^
    Jul 05 21:56:31 2026-07-05T19:56:31Z 
    Jul 05 21:56:31 Error: Invalid system config:
    Jul 05 21:56:31 - [ffmpeg.acceptedAudioCodecs.2] Invalid option: expected one of "mp3"|"aac"|"opus"|"pcm_s16le"
    Jul 05 21:56:31 at buildConfig (/usr/src/app/server/dist/utils/config.js:121:19)
    Jul 05 21:56:31 at async /usr/src/app/server/dist/utils/config.js:60:26
    Jul 05 21:56:31 2026-07-05T19:56:31Z 
    Jul 05 21:56:31 Node.js v24.14.1
    Jul 05 21:56:31 api worker exited with code 1
    Jul 05 21:56:31 2026-07-05 19:56:31,957 WARN exited: server (exit status 1; not expected)
    Jul 05 21:56:32 2026-07-05 19:56:32,959 INFO spawned: 'server' with pid 197026
    Jul 05 21:56:33 2026-07-05 19:56:33,961 INFO success: server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
    Jul 05 21:56:34 (node:197026) ExperimentalWarning: WASI is an experimental feature and might change at any time
    Jul 05 21:56:34 (Use `node --trace-warnings ...` to show where the warning was created)
    Jul 05 21:56:35 Starting api worker
    Jul 05 21:56:35 Starting microservices worker
    Jul 05 21:56:37 (node:197026) ExperimentalWarning: WASI is an experimental feature and might change at any time
    Jul 05 21:56:37 (Use `node --trace-warnings ...` to show where the warning was created)
    Jul 05 21:56:37 (node:197038) ExperimentalWarning: WASI is an experimental feature and might change at any time
    Jul 05 21:56:37 (Use `node --trace-warnings ...` to show where the warning was created)
    Jul 05 21:56:37 [Nest] 197026  - 07/05/2026, 7:56:37 PM     LOG [Microservices:WebsocketRepository] Initialized websocket server
    Jul 05 21:56:37 [Nest] 197026  - 07/05/2026, 7:56:37 PM     LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for clip_index of 32213 rows
    Jul 05 21:56:37 [Nest] 197026  - 07/05/2026, 7:56:37 PM     LOG [Microservices:DatabaseRepository] targetLists=1, current=1 for face_index of 36716 rows
    Jul 05 21:56:37 [Nest] 197026  - 07/05/2026, 7:56:37 PM     LOG [Microservices:DatabaseRepository] Running migrations
    Jul 05 21:56:37 [Nest] 197026  - 07/05/2026, 7:56:37 PM     LOG [Microservices:DatabaseRepository] Finished running migrations
    Jul 05 21:56:37 [Nest] 197026  - 07/05/2026, 7:56:37 PM     LOG [Microservices:DatabaseService] Checking for schema drift
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM    WARN [Microservices:DatabaseService] Detected schema drift. For more information, see https://docs.immich.app/errors#schema-drift or run `immich-admin schema-check`
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM    WARN [Microservices:DatabaseService]   - The index "geodata_places"."idx_geodata_places_name" is missing and needs to be created
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM    WARN [Microservices:DatabaseService]   - The index "geodata_places"."idx_geodata_places_admin2_name" is missing and needs to be created
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM    WARN [Microservices:DatabaseService]   - The index "geodata_places"."idx_geodata_places_admin1_name" is missing and needs to be created
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM    WARN [Microservices:DatabaseService]   - The index "geodata_places"."idx_geodata_places_alternate_names" is missing and needs to be created
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM    WARN [Microservices:DatabaseService]   - The constraint "geodata_places"."geodata_places_pkey" (primary-key) is missing and needs to be created
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM    WARN [Microservices:DatabaseService]   - The constraint "naturalearth_countries"."naturalearth_countries_pkey" (primary-key) is missing and needs to be created
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM     LOG [Microservices:StorageService] Verifying system mount folder checks, current state: {"mountChecks":{"thumbs":true,"upload":true,"backups":true,"library":true,"profile":true,"encoded-video":true}}
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM     LOG [Microservices:StorageService] Successfully verified system mount folder checks
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM     LOG [Microservices:MetadataService] Bootstrapping metadata service
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM     LOG [Microservices:MetadataService] Initializing metadata service
    Jul 05 21:56:38 [Nest] 197026  - 07/05/2026, 7:56:38 PM     LOG [Microservices:MapRepository] Initializing metadata repository
    

    System info:

    System
    Cloudron version
    9.2.0
    Ubuntu version
    Ubuntu 24.04.2 LTS Linux 6.8.0-134-generic
    Vendor
    Hetzner
    Product
    vServer
    CPU
    4 Core "AMD EPYC-Milan Processor"
    Memory
    16.37 GB RAM & 4.29 GB Swap
    Uptime
    2 days
    Cloudron creation time
    3 years ago
    

    I've also followed the instructions in Immich logs:

    root@ff1f64d5-fd0f-4665-83c7-76f77cc80fe6:/usr/src/app# immich-admin schema-check
    (node:197572) ExperimentalWarning: WASI is an experimental feature and might change at any time
    (Use `node --trace-warnings ...` to show where the warning was created)
    Migrations are up to date
    
    Detected schema drift. For more information, see https://docs.immich.app/errors#schema-drift
      - IndexCreate: The index "geodata_places"."idx_geodata_places_name" is missing and needs to be created
      - IndexCreate: The index "geodata_places"."idx_geodata_places_admin2_name" is missing and needs to be created
      - IndexCreate: The index "geodata_places"."idx_geodata_places_admin1_name" is missing and needs to be created
      - IndexCreate: The index "geodata_places"."idx_geodata_places_alternate_names" is missing and needs to be created
      - ConstraintAdd: The constraint "geodata_places"."geodata_places_pkey" (primary-key) is missing and needs to be created
      - ConstraintAdd: The constraint "naturalearth_countries"."naturalearth_countries_pkey" (primary-key) is missing and needs to be created
    
    
    The below SQL is automatically generated and may be helpful for resolving drift. ** Use at your own risk! **
    
    ```sql
    CREATE INDEX "idx_geodata_places_name" ON "geodata_places" USING gin (f_unaccent("name") gin_trgm_ops);
    CREATE INDEX "idx_geodata_places_admin2_name" ON "geodata_places" USING gin (f_unaccent("admin2Name") gin_trgm_ops);
    CREATE INDEX "idx_geodata_places_admin1_name" ON "geodata_places" USING gin (f_unaccent("admin1Name") gin_trgm_ops);
    CREATE INDEX "idx_geodata_places_alternate_names" ON "geodata_places" USING gin (f_unaccent("alternateNames") gin_trgm_ops);
    ALTER TABLE "geodata_places" ADD CONSTRAINT "geodata_places_pkey" PRIMARY KEY ("id");
    ALTER TABLE "naturalearth_countries" ADD CONSTRAINT "naturalearth_countries_pkey" PRIMARY KEY ("id");
    

    Any idea?
    Thanks!

    About me / Now

    1 Reply Last reply
    3
    • jamesJ Offline
      jamesJ Offline
      james
      Staff
      wrote last edited by
      #2

      Hello @sansguidon
      First thing you should do in these cases is the following.

      • create a backup of the broken state
      • restore the backup from before the update (working state)
      • create a clone of the app from the broken app backup
      • with the broken cloned app you can tinker and try to apply the fixes mentioned in the log

      This way you 'production' immich stays online, and you can investigate the issue without potentially causing further harm.

      We did not encounter this issue in our CI.
      Can you check if maybe your postgresql was/is running out of memory causing this issue while updating the immich app?

      1 Reply Last reply
      1
      • nebulonN Offline
        nebulonN Offline
        nebulon
        Staff
        wrote last edited by nebulon
        #3

        haven't seen this in my production instance, especially strange about the db schema issues, since immich performs db migration on startup, so all I can think of is, that some run may have crashed mid way, so maybe try to rollback and try again for that.

        But before this, do you have made any tweaks to the configuration, since there is another issue:

        Jul 05 21:56:31 Error: Invalid system config:
        Jul 05 21:56:31 - [ffmpeg.acceptedAudioCodecs.2] Invalid option: expected one of "mp3"|"aac"|"opus"|"pcm_s16le"
        

        which could be the reason the migration didn't run in the first place.

        1 Reply Last reply
        0
        • K Offline
          K Offline
          kubasbimbas
          wrote last edited by
          #4

          Hi, I’m facing the same issue. Immich app doesn’t start after the update.

          1 Reply Last reply
          0
          • nebulonN Offline
            nebulonN Offline
            nebulon
            Staff
            wrote last edited by
            #5

            do you see the same error messages or something else, also have you adjust the config manually somehow?

            1 Reply Last reply
            0
            • K Offline
              K Offline
              kubasbimbas
              wrote last edited by
              #6

              Yes, I have the same errors...haven't changed anything.

              Jul 06 20:46:50 Error: Invalid system config:
              Jul 06 20:46:50 - [ffmpeg.acceptedAudioCodecs.2] Invalid option: expected one of "mp3"|"aac"|"opus"|"pcm_s16le"
              Jul 06 20:46:50 at buildConfig (/usr/src/app/server/dist/utils/config.js:121:19)
              Jul 06 20:46:50 at async /usr/src/app/server/dist/utils/config.js:60:26
              
              1 Reply Last reply
              0
              • SansGuidonS Offline
                SansGuidonS Offline
                SansGuidon
                wrote last edited by
                #7

                Fix found thanks to Claude Sonnet. The issue is that Immich v3.0 renamed the ffmpeg audio codec libopus to opus, see https://immich.app/blog/v3-migration, but the persisted config file (/app/data/immich.json) still contains the old value. Config validation crashes the server before migrations can run.

                One-liner fix:

                cloudron exec --app <APP_ID> -- sed -i 's/"libopus"/"opus"/' /app/data/immich.json
                

                Then restart the app. The schema drift warnings resolve themselves once the app starts successfully and migrations run.

                About me / Now

                1 Reply Last reply
                5
                • SansGuidonS SansGuidon referenced this topic
                • J joseph has marked this topic as solved
                • jamesJ Offline
                  jamesJ Offline
                  james
                  Staff
                  wrote last edited by
                  #8

                  Hello @sansguidon
                  Thank you very much for looking into this and also providing a solution.

                  SansGuidonS 1 Reply Last reply
                  2
                  • jamesJ james

                    Hello @sansguidon
                    Thank you very much for looking into this and also providing a solution.

                    SansGuidonS Offline
                    SansGuidonS Offline
                    SansGuidon
                    wrote last edited by
                    #9

                    @james all credits to Claude here 🤣

                    About me / Now

                    1 Reply Last reply
                    1
                    • B Offline
                      B Offline
                      BitEater67
                      wrote last edited by
                      #10

                      Also thank you for this solution.

                      1 Reply Last reply
                      1
                      • SansGuidonS Offline
                        SansGuidonS Offline
                        SansGuidon
                        wrote last edited by
                        #11

                        I wonder anyway how it happened to break for some users only?
                        And if a permanent fix should be integrated in the official cloudron package?

                        About me / Now

                        B jdaviescoatesJ 2 Replies Last reply
                        0
                        • SansGuidonS SansGuidon

                          I wonder anyway how it happened to break for some users only?
                          And if a permanent fix should be integrated in the official cloudron package?

                          B Offline
                          B Offline
                          BitEater67
                          wrote last edited by
                          #12

                          @SansGuidon .. especially when one had never not touched anything on that config file.

                          1 Reply Last reply
                          0
                          • SansGuidonS SansGuidon

                            I wonder anyway how it happened to break for some users only?
                            And if a permanent fix should be integrated in the official cloudron package?

                            jdaviescoatesJ Offline
                            jdaviescoatesJ Offline
                            jdaviescoates
                            wrote last edited by
                            #13

                            @SansGuidon said:

                            I wonder anyway how it happened to break for some users only?

                            My guess: the non effected users app had enough RAM to successfully complete the migration

                            I use Cloudron with Gandi & Hetzner

                            1 Reply Last reply
                            2

                            Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                            Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                            With your input, this post could be even better 💗

                            Register Login
                            Reply
                            • Reply as topic
                            Log in to reply
                            • Oldest to Newest
                            • Newest to Oldest
                            • Most Votes


                            • Login

                            • Don't have an account? Register

                            • Login or register to search.
                            • First post
                              Last post
                            0
                            • Categories
                            • Recent
                            • Tags
                            • Popular
                            • Bookmarks
                            • Search