Commit Graph

9612 Commits

Author SHA1 Message Date
Girish Ramakrishnan 19c9d7d59d updateInfo: move updateInfo into apps table
this has many advantages:
* easy to deliver the updateInfo via the apps object
* after updating, the task can clear it
* when apps are deleted, the info is automatically gone

otherwise, it's a mess of deps between apps/updater/apptask/rest routes

box update info is still in a file
2025-06-26 15:47:15 +02:00
Girish Ramakrishnan abd640d36b merge updatechecker into updater 2025-06-26 14:00:30 +02:00
Girish Ramakrishnan a085e9ed54 updatechecker: raise app update notifications in the updatechecker job
the updatechecker runs even if auto-updates is disabled. doing notifications
in updatechecker ensures notifications are raised even when auto-update is disabled.
2025-06-26 13:36:21 +02:00
Girish Ramakrishnan e0af49f638 appstore: automatic is not stableOnly 2025-06-25 18:17:29 +02:00
Johannes Zellner 9be00cd546 Also add media-src csp rule for dashboard to allow videos in filemanager 2025-06-25 14:18:04 +02:00
Girish Ramakrishnan a02e3d2ebd better log 2025-06-20 22:16:05 +02:00
Girish Ramakrishnan 84297ff473 updater: move app update logic and attach the manual update reason 2025-06-20 22:08:02 +02:00
Girish Ramakrishnan 1ffad1ebaf updater: move the auto update logic into updater 2025-06-20 19:10:25 +02:00
Girish Ramakrishnan 2db99e7807 refactor: rename updater functions to have box in them 2025-06-20 19:04:55 +02:00
Girish Ramakrishnan d7fdfd6d71 attach app updateInfo to app object 2025-06-20 18:51:12 +02:00
Girish Ramakrishnan 241053e1a8 s3: error handling has changed in v3 api 2025-06-20 16:07:21 +02:00
Girish Ramakrishnan 4d94700375 remove dead comment 2025-06-19 16:12:46 +02:00
Girish Ramakrishnan 1672217dd9 replace mysql module with mysql2
mysql is deprecated since years now
2025-06-19 12:41:49 +02:00
Girish Ramakrishnan 313c90ff85 database: change charset to utf8mb4
part of #836
2025-06-19 10:39:40 +02:00
Girish Ramakrishnan 227da8dce4 test: remove double uninit of db 2025-06-19 10:24:17 +02:00
Girish Ramakrishnan 84111996b4 database: some debugs 2025-06-19 10:12:59 +02:00
Girish Ramakrishnan fb39aa32bb tasks: fix update failed notification
https://forum.cloudron.io/topic/13408/update-to-cloudron-8.3-error

We get a Task xx crashed with code null in the notification.

The crux of the issue is that we use KillMode=control-group. This ends
up sending SIGTERM signal to box code and all the sudo in parallel. The box
code then sees the sudo die and records the task as failed.

To fix, we switch to KillMode=mixed. This gives box code a chance to handle SIGTERM
first. It cleans out its task list and kills all the sudo.
2025-06-17 23:47:04 +02:00
Girish Ramakrishnan ca25c6075b tasks: fix grammar and log the completion of sudo 2025-06-17 22:33:30 +02:00
Girish Ramakrishnan a9f474b24d taskworker: better logs on signal 2025-06-17 22:30:34 +02:00
Girish Ramakrishnan 1354da01e6 platform: remove duplicate stops (already in onDeactivated) 2025-06-17 22:29:29 +02:00
Girish Ramakrishnan d9c104613c tasks: rework the startTask API
it is now async. change was required to reset the pending flag
2025-06-17 19:32:46 +02:00
Girish Ramakrishnan 4770b32287 tasks: add pending field
this indicates if a task is scheduled. previously, we relied
on task.progress being 1
2025-06-17 17:00:21 +02:00
Girish Ramakrishnan 89cfe1ef57 shell: add note 2025-06-17 15:08:32 +02:00
Girish Ramakrishnan 72d29030d9 tasks: remove redundant BindsTo= 2025-06-16 18:19:30 +02:00
Girish Ramakrishnan 5cf98922fb tasks: add note on why we use systemd-run 2025-06-16 18:14:21 +02:00
Girish Ramakrishnan 6a2f2b4efe task: do not use --pipe
--pipe make the spawned task inherit the systemd-run's stdio. if/when
system-run is killed, it might take out the spawned task as well with EPIPE.
2025-06-16 14:20:07 +02:00
Girish Ramakrishnan 69cb8c5a0a task: can use env -S in ubuntu 20 and above 2025-06-16 14:18:49 +02:00
Girish Ramakrishnan 0ebda97b03 remove various 18.04 specific code 2025-06-15 13:58:28 +02:00
Girish Ramakrishnan 39cbfb84ae refactor: move moveDataDir into services 2025-06-14 21:18:56 +02:00
Girish Ramakrishnan 73a56830b0 apps: do not start redis when app is stopped
stopped apps stop the container and the services. a good reason to
not delete them is to keep the image around and it's quick to start up again.

only update is not allowed during the app is stopped (because the start.sh
cannot be run).

all other operations like cpu/memory/device/service changes/data dir/location change
are all allowed.
2025-06-14 21:03:10 +02:00
Girish Ramakrishnan d924f73ceb services: change restart policy to unless-stopped
when we stop an app, the service containers are stopped. they
start running again on reboot.

correct restart policy is "unless-stopped" for all the containers.
2025-06-14 17:51:35 +02:00
Girish Ramakrishnan c44926c2cd redis: disable by default when optional
this simply increases complexity of local setups since redis is
only used as a cache and not for persistent data
2025-06-14 10:40:48 +02:00
Girish Ramakrishnan 11a852d49c test: enablePop3 is now required 2025-06-14 09:17:46 +02:00
Girish Ramakrishnan 2b30f5591c docker: allow requests via libpod and skopeo 2025-06-14 09:17:46 +02:00
Johannes Zellner e6d8115e52 Allow to set enablePop3 when adding a mailbox 2025-06-13 17:38:55 +02:00
Johannes Zellner e898639168 Use error message from DigitalOcean if available 2025-06-13 16:02:27 +02:00
Girish Ramakrishnan ef9a17a28a appstore: make the features file readable 2025-06-13 10:50:04 +02:00
Johannes Zellner e496f4f3e2 Bring back demo login info 2025-06-13 09:35:16 +02:00
Girish Ramakrishnan 5d42439bf4 proxyauth: fix install 2025-06-13 02:05:04 +02:00
Girish Ramakrishnan b60681e9bd oidc: refactor the StorageAdapter 2025-06-13 02:05:01 +02:00
Girish Ramakrishnan 25684bf4f6 oidc: reload the login form if the interaction expires
use the error status which the oidc provider module returns
2025-06-13 00:47:45 +02:00
Girish Ramakrishnan f0c5b603ee oidc: some comments 2025-06-12 22:58:29 +02:00
Johannes Zellner b61b45177a Only access lastSubmission if it exists 2025-06-12 22:33:57 +02:00
Johannes Zellner afd19a7307 Optionally take id from data when adding an oidcClient
clients for apps use the app.id as the client id
2025-06-12 22:29:11 +02:00
Girish Ramakrishnan 155a348802 mongodb: reduce verbosity of logs 2025-06-12 22:27:57 +02:00
Girish Ramakrishnan a07d7ffdec profile: do not crash on invalid avatar id 2025-06-12 01:23:17 +02:00
Girish Ramakrishnan f48231e309 oidc: do not notify login of ghost users 2025-06-12 00:25:28 +02:00
Girish Ramakrishnan d24189e8aa oidc: refactor 2025-06-12 00:25:28 +02:00
Girish Ramakrishnan 5baa08eb0c oidc: use safe instead 2025-06-12 00:25:28 +02:00
Girish Ramakrishnan 95eb310a7f oidc: add notes on the flow 2025-06-12 00:25:28 +02:00