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?
SansGuidon
Posts
-
Immich broken after update to 3.0.1 -
Immich broken after update to 3.0.1@james all credits to Claude here

-
Immich v3 breaking changesThanks @jdaviescoates and @teiluj this helped me and Claude solving https://forum.cloudron.io/topic/15680/immich-broken-after-update-to-3.0.1/7
-
Immich broken after update to 3.0.1Fix found thanks to Claude Sonnet. The issue is that Immich v3.0 renamed the ffmpeg audio codec
libopustoopus, 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.jsonThen restart the app. The schema drift warnings resolve themselves once the app starts successfully and migrations run.
-
Immich v3 breaking changesHi @teiluj , I cannot open the mentioned URLs, what did they point to/announce?
Thanks
οΈ -
Immich broken after update to 3.0.1Hi
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 repositorySystem 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 agoI'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! -
Backup quits with@sansguidon might be best to wait for the next release which should be out shortly. This bug is only in rsync and not in tgz.
With the manual patch it did work
. I'm not sure to understand your advice anyway, for me the backups are a very critical part of if not the most important of Cloudron, so they should not be skipped, and my understanding is that with rsync blocked my backups are local and no copy exists outside of my server, if I'm not mistaken? This seems risky enough and a sufficient motivation to take immediate action, or please correct me if I misunderstood. -
Backup quits withThanks! I've tried applying the patch with git apply but it failed so I've adapted the file manually
root@<redacted>:/home/yellowtent/box# git apply 6e0dc24ecae47ba3175ce1574a86c6724fbc98aa.diff error: patch failed: src/syncer.js:10 error: src/syncer.js: patch does not apply -
Backup quits withI'm facing a similar issue, with a new file downloaded today and renamed afterwards, the backup is for syncthing.
Mar 17 17:00:09 box:syncer Current line: {"path":"data/folders/AndroidDownloads/Librera/Dhirendra Sinha Mar 17 17:00:09 box:backupupload upload completed. error: SyntaxError: Unterminated string in JSON at position 62 (line 1 column 63) at ... Mar 17 17:00:10 box:backuptask fullBackup: app syncthing.<REDACTED_DOMAIN> backup finished. Took 251.408 secondsMore context:
root@0427ab50-22da-43dd-871e-3ab54bfed577:/app/data/folders/AndroidDownloads/Librera# stat Dhirendra\ Sinhaβ©\,\ Tejas\ Chopra\ -\ System\ Design\ Guide\ for\ Software\ Professionals_\ Build\ scalable\ solutions\ β\ from\ fundamental\ concepts\ \(2024\,\ Packt\ Publishing\ Pvt\ Ltd\)\ -\ libgen.li.epub File: Dhirendra Sinhaβ©, Tejas Chopra - System Design Guide for Software Professionals_ Build scalable solutions β from fundamental concepts (2024, Packt Publishing Pvt Ltd) - libgen.li.epub Size: 16217520 Blocks: 31688 IO Block: 4096 regular file Device: 8,32 Inode: 3043429 Links: 1 Access: (0644/-rw-r--r--) Uid: ( 1000/cloudron) Gid: ( 1000/cloudron) Access: 2026-03-17 12:34:16.112227988 +0000 Modify: 2026-03-17 12:28:32.210986818 +0000 Change: 2026-03-17 12:28:44.894161942 +0000 Birth: 2026-03-17 12:28:44.751161060 +0000how to address this?
-
Empty release notesThanks! @girish If this problem cannot be solved with a non deterministic solution (LLM) then maybe AI/LLM is not a fit (assuming it is used here?)
-
Empty release notesHi, I bump this thread as once again there is an issue with the generated changelog/release notes for Calibre Web.

The link to full changelog is invalid : https://github.com/janeczku/calibre-web/releases/tag/9.5.0
cc @girish
-
Cannot access documents since last update - CryptPad is failing to load OnlyOffice@archos the workaround is enough for me! Thanks

-
Cannot access documents since last update - CryptPad is failing to load OnlyOfficeHi,
I see the fix has been merged and the latest update (1.13.2) was applied on my instance yet I cannot open my drive files
maybe a workaround is needed to export our files and re-import them, I'm not sure what to do but it's frustrating to not access my files for a few weeks now.
I'm sorry to ask again for support, but it's very annoying.
Thanks in advance!
-
Allow to pass env variables to python runtime for ChangedetectionALLOW_IANA_RESTRICTED_ADDRESSES=true
You need to put an
exportin front of that.
It needs to be:export ALLOW_IANA_RESTRICTED_ADDRESSES=trueMy bad!
This solves indeed the problem. @james @robi I'm sorry for the time wasted. Many thanks for highlighting this pebkac, and I should probably rest more
! -
Allow to pass env variables to python runtime for Changedetectionchangedetection watch fails with:
Fetch blocked: '
https://my.domain.tld/' resolves to a private/reserved IP addressHowever the domain resolves to public IPs:
A <redacted public ipv4>
AAAA <redacted public ipv6>Inside the container:
dig my.domain.tld -> <redacted public ipv4>
getent hosts -> <redacted public ipv6>Both IPv4 and IPv6 connectivity work (curl -4 and curl -6 succeed).
So DNS and networking are fine. The issue appears to be the SSRF protection in changedetection misclassifying the resolved IPv6 address as private/reserved.
Setting:
ALLOW_IANA_RESTRICTED_ADDRESSES=true
should bypass the block and the fetch works but if I set that in env.sh, nothing changes because the changedetection python command that is run does not read those env
Looks like a false positive triggered when the resolver prefers the IPv6 address.
-
Allow to pass env variables to python runtime for Changedetection@james I've sent you in PM an example problematic url
-
Allow to pass env variables to python runtime for ChangedetectionHey
I notice some watches in my changedetection instance are errored with a message about an environment variable to set somewhere

After I set this variable in env.sh, the variable is available in the container but is not passed to the context of the python3 runtime / changedetection.py, if someone can confirm my assumption?
https://git.cloudron.io/packages/changedetection-app/-/blob/master/start.sh?ref_type=heads so the error persists in changedetectionIf I'm not mistaken then, it could be enough to adapt the package's Dockerfile around https://git.cloudron.io/packages/changedetection-app/-/blob/master/start.sh?ref_type=heads#L25 so the env variables sourced from env.sh are taken into account by the python runtime?
Refs / examples usage
- https://github.com/dgtlmoon/changedetection.io/commit/bf3f8eae45b2be7bb54e10cf74f8bf8456456b42
- https://github.com/dgtlmoon/changedetection.io/commit/fe7aa38c651d73fe5f41ce09855fa8f97193747b
Thanks for reading and review/feedback! I hope this is not a case of a https://xyproblem.info/
-
Cannot access documents since last update - CryptPad is failing to load OnlyOfficeAny workaround for this? Shall I try to rollback the app version and if yes how ? I'm happy to just use an old version of the app if that can work, so I can at least re-open my files that I couldn't edit for 2 weeks now :-'(
EDIT, some tests/findings
$ curl -I https://<redacted>/common/onlyoffice/api.js HTTP/2 404 server: nginx date: Wed, 04 Mar 2026 23:10:17 GMT content-type: text/html content-length: 938 etag: "698ca1f6-3aa" $ curl -I https://<redacted>/web-apps/apps/api/documents/api.js HTTP/2 200 server: nginx date: Wed, 04 Mar 2026 23:10:19 GMT content-type: application/javascript content-length: 17408 last-modified: Wed, 11 Feb 2026 15:36:22 GMT etag: "698ca1f6-4400" access-control-allow-origin: https://sandbox.<redacted> access-control-allow-credentials: true permissions-policy: interest-cohort=() cross-origin-resource-policy: cross-origin cross-origin-embedder-policy: require-corp content-security-policy: default-src 'none'; child-src <redacted> accept-ranges: bytes strict-transport-security: max-age=63072000 x-xss-protection: 1; mode=block x-download-options: noopen x-content-type-options: nosniff x-permitted-cross-domain-policies: none referrer-policy: same-originhypothesis:
- the package changed the OnlyOffice API path,
- but existing pads/config still reference the old /common/onlyoffice/api.js path.
- GET /web-apps/apps/api/documents/api.js β 200 (JS)
- GET /common/onlyoffice/api.js β 404
- existing files still try /common/onlyoffice/api.js and fail with DocEditor undefined.
I'm not sure what must be done here, a compatibility rule in nginx to forward old request to new endpoints? a migration script/step in the next app update for old files?
-
Cannot access documents since last update - CryptPad is failing to load OnlyOfficeThanks for the suggestion! I can't copy a file, the context menu only appears with both a combination of clicking and hitting some trigger key, and then I cannot hit Copy as context menu disappears as soon as I release the mouse button. Annoying UX.
I've obtained more console log after removing the local data storage on my usual session:
sframe-boot.js?ver=1.11:46 Testing if CSP correctly blocks an 'eval' call 22:57:55.338 LessLoader.js?ver=2026.2.0-1772483278073:208 Compiling [/customize/src/less2/include/loading.less] took 92ms 22:57:55.507 LessLoader.js?ver=2026.2.0-1772483278073:208 Compiling [/common/onlyoffice/app-oo.less] took 180ms 22:57:55.666 jquery.min.js?ver=2026.2.0-1772483278073:2 Failed to load resource: the server responded with a status of 404 () send @ jquery.min.js?ver=2026.2.0-1772483278073:2 22:57:56.057 inner.js?ver=2026.2.0-1772483278073:2206 updated config Object createOOConfig @ inner.js?ver=2026.2.0-1772483278073:2206 22:57:56.058 inner.js?ver=2026.2.0-1772483278073:2544 Uncaught TypeError: Cannot read properties of undefined (reading 'DocEditor') -
Cannot access documents since last update - CryptPad is failing to load OnlyOfficeHello @sansguidon
Thanks for the report.
I will have to look into it again.Please share what browser, what browser version and what operating system is used.
Also, if any extensions are installed please also list them or confirm that the issue persists in a fresh browser session with no extensions.I've tried from MacOs, Android, Vivaldi, Brave, LibreWolf. Same issue.
Would it help to share my logs or data??