Commit Graph

9752 Commits

Author SHA1 Message Date
Girish Ramakrishnan 7afec06d4c apps: operators can now view backup logs and manage the backup task
we spun off the app backup as a separate task and this is not tracked
by app.taskId .

fixes #856
2026-03-15 10:18:31 +05:30
Girish Ramakrishnan 29f85a8fd2 test: fix debug 2026-03-15 09:54:55 +05:30
Girish Ramakrishnan 6e0dc24eca rsync: escape U+2028/U+2029
JSON strings can contain unescaped U+2028 LINE SEPARATOR and U+2029 PARAGRAPH SEPARATOR
characters while ECMAScript strings cannot. ES2019 now allows those unescaped.

The integrity code assumes that each JSON is a single line but that assumption does
not hold true when these characters are there in the string. Fix is to escape them.
2026-03-15 09:20:40 +05:30
Girish Ramakrishnan 6db2b55e63 oidcserver: custom templates for device login
the default one uses google fonts :/
2026-03-13 13:25:57 +05:30
Girish Ramakrishnan a3c038781f oidc: implement Device Authorization Grant 2026-03-13 12:44:39 +05:30
Girish Ramakrishnan 59c9e5397e ldapserver, directoryserver: all traces 2026-03-12 23:30:12 +05:30
Girish Ramakrishnan a4c253b9a9 users: modify verify log calls to trace
this is only useful when we are debugging and not useful to end user
without further context
2026-03-12 23:27:13 +05:30
Girish Ramakrishnan f12b4faf34 lint 2026-03-12 23:23:23 +05:30
Girish Ramakrishnan ff49759f42 promise-retry: rename api to log 2026-03-12 23:11:16 +05:30
Girish Ramakrishnan 01d0c738bc replace debug() with our custom logger
mostly we want trace() and log(). trace() can be enabled whenever
we want by flipping a flag and restarting box
2026-03-12 23:08:35 +05:30
Girish Ramakrishnan d57554a48c backup logs: make them much terse and concise
these are making the rsync logs massive. instead resort to reporting
progress based on file count. there is also a heartbeat timer for
"stuck" or "long downloading" files, every minute.
2026-03-12 19:40:46 +05:30
Girish Ramakrishnan b16b57f38b rsync: throttle log messages during download 2026-03-12 13:47:26 +05:30
Girish Ramakrishnan 12177446a2 backupcleaner: remove cleanupSnapshotSuperfluous
this removes the workaround for the rsync bug to make integrity
checks work. see ec15f29e40 and
2c12bee79b
2026-03-12 08:07:25 +05:30
Girish Ramakrishnan 79cdecdff6 graphite: fix aggregation of block/network read/write 2026-03-10 22:56:00 +05:30
Girish Ramakrishnan 336dee53cd metrics: pick last item in series
picking the first item for "max" is not correct
2026-03-10 22:25:15 +05:30
Girish Ramakrishnan 77022bbd7f restore: apply blocklist 2026-03-10 21:34:26 +05:30
Girish Ramakrishnan 8ef56c6d91 reverseproxy: fix restore of trusted ips 2026-03-10 17:28:06 +05:30
Girish Ramakrishnan d377d1e1cf remove deprecated url 2026-03-10 15:15:17 +05:30
Girish Ramakrishnan 866b72d029 services: distinguish error state and idle state for stopped containers 2026-03-08 18:36:24 +05:30
Girish Ramakrishnan 4bc0f44789 services: lazy start services / on demand services
services are now stopped when no app is using them.

on start up, services are always created and run. they are later
stopped when unused. it's this way to facilitate the upgrade code
path. the database meta files have to be upgraded even if no app is using them.
the other hook to stop unused services is at the end of an app task.

maybe mail container is a candidate for the future where all sending is no-op.
But give this is rare, it's not implemented.
2026-03-08 18:35:50 +05:30
Girish Ramakrishnan 99c55cb22f services: enforce min memory limit 2026-03-05 21:25:31 +05:30
Girish Ramakrishnan 74c73c695f mongodb: set min memory to 2GB 2026-03-05 21:25:31 +05:30
Girish Ramakrishnan 38efa6a2ba integrity: show failure messages 2026-03-05 16:24:46 +05:30
Girish Ramakrishnan 5f8ea2aecc integrity: skip check of backups with no integrity info 2026-03-04 21:18:20 +05:30
Girish Ramakrishnan 94bc52a0c3 rsync: typo 2026-03-04 20:48:00 +05:30
Girish Ramakrishnan fed51bdcd9 backupintegrity: add percent progress 2026-03-04 18:30:16 +05:30
Girish Ramakrishnan 7c6a783fc8 tasks: fix progress percents
mostly rebalancing the percents
2026-03-04 16:37:34 +05:30
Girish Ramakrishnan ec15f29e40 syncer: clean up superfluous files 2026-03-04 14:00:54 +05:30
Girish Ramakrishnan 2c12bee79b syncer: fix bug with a file and dir having same prefix
if we had say "app/" and "application.json", the syncer logic
was skipping over application.json because it starts with "app".
This would lead to application.json not getting deleted in the snapshot
and result in superfluous files.
2026-03-04 13:59:35 +05:30
Johannes Zellner 1120866b75 Make renewalInfo explicitly fallback to null to be visible in stringify 2026-03-04 08:46:27 +01:00
Johannes Zellner b362c069e5 fix crash, where result may be undefined on error 2026-03-04 08:39:31 +01:00
Johannes Zellner 4b6b18c182 Try to detect and set the content type of app icons 2026-03-03 22:06:50 +01:00
Girish Ramakrishnan 99168157fc integrity: size is not a function 2026-03-03 20:24:26 +05:30
Girish Ramakrishnan 23c3263562 integrity: show log link
in the previous approach, we used to clear the taskId after
the integrity check completes. for one, we lose track of the
task (to show the logs). for another, we have to clear these
taskId on platform startup to handle crashes.

in the new approach, we keep the taskId and use the task's
active flag to determine if task is active.
2026-03-03 18:41:57 +05:30
Girish Ramakrishnan 3b3e606573 integrity: better log messages 2026-03-03 16:13:44 +05:30
Girish Ramakrishnan 18b713cec3 oom: fix crash when source build ooms 2026-03-02 21:10:47 +05:30
Johannes Zellner 2a6d385cea Support and prefer Dockerfile.cloudron in local builds 2026-03-02 12:06:27 +01:00
Johannes Zellner 4cc1926899 Also increase body upload for app update route to work well with source builds 2026-03-02 11:45:03 +01:00
Girish Ramakrishnan 480b81b3dd postgres: update pgvector to 0.8.2 2026-03-02 08:37:26 +05:30
Girish Ramakrishnan 61d4a795ae apps: enable storage view in all error states 2026-02-28 02:20:25 +01:00
Girish Ramakrishnan cd89883dbb apps: move to error state if a volume is unavailable 2026-02-28 01:02:22 +01:00
Girish Ramakrishnan 04758587b4 update: throw error when update failed 2026-02-26 11:09:55 +01:00
Johannes Zellner a900beb3fd First delete mailpassword for oidc clients then the client itself 2026-02-25 18:02:31 +01:00
Johannes Zellner 19a0f77c53 Do not add empty mailclient claim unless requested 2026-02-25 16:15:35 +01:00
Johannes Zellner 6dbd97ba14 Only generate mailpassword and fetch mailboxes if the oidc client wants the mailclient scope 2026-02-25 16:07:46 +01:00
Girish Ramakrishnan d2fbea8e39 update: typo 2026-02-25 15:53:03 +01:00
Girish Ramakrishnan f4ff63485a domains: validate well known 2026-02-25 05:55:14 +01:00
Girish Ramakrishnan 4be31b0dad update: if no backup site, show error message 2026-02-24 05:55:56 +01:00
Girish Ramakrishnan 5ba8a05450 cifs: use rsync instead cp -aRl
for some reason, cp fails on synology cifs for some paths - immich's typesense dir
2026-02-23 17:47:05 +01:00
Girish Ramakrishnan f4598f81c9 debug: add CLOUDRON_DEBUG=1 env var 2026-02-23 10:53:06 +01:00