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