Commit Graph

190 Commits

Author SHA1 Message Date
Johannes Zellner 39e6463d19 Fix backupsite view when schedule is never 2025-09-29 10:02:02 +02:00
Girish Ramakrishnan a8f88d7c4d Fix up backup contents UI 2025-09-26 11:51:10 +02:00
Girish Ramakrishnan 70eb5c1053 display retention policy and schedule in sites view 2025-09-26 11:05:49 +02:00
Girish Ramakrishnan 98d4d99c1b appstore: add unlink account route 2025-09-24 21:49:24 +02:00
Johannes Zellner c8c5862b47 Make backupSite contents configurable 2025-09-24 18:11:48 +02:00
Johannes Zellner 0d3450ceed Add checkbox to configure backup site backup for update behavior 2025-09-24 17:22:10 +02:00
Johannes Zellner da818ff577 Support multiple backup sites for manual app backups 2025-09-23 13:53:01 +02:00
Johannes Zellner 74783eee0e Provider default contens for backup sites including all 2025-09-23 11:38:21 +02:00
Girish Ramakrishnan 41932c9127 app update: use the props.app directly instead of local copy
this way if the app auto updates in the background, we are showing
the correct state in the view
2025-09-17 12:14:21 +02:00
Girish Ramakrishnan 405302e2f0 users: fix avatar handling and various translations 2025-09-16 12:05:47 +02:00
Girish Ramakrishnan 9bcca0a791 return the body 2025-09-12 19:00:19 +02:00
Girish Ramakrishnan da6be5c490 dashboard: rename backupTargets to backupSites 2025-09-12 10:49:43 +02:00
Girish Ramakrishnan d41c20f06c convert VolumesModel to use [error, result] pattern 2025-09-10 10:48:52 +02:00
Girish Ramakrishnan 19682ec21b tgz: integrity check 2025-08-15 21:23:39 +05:30
Johannes Zellner d3a0fe64e7 Fix typo 2025-08-07 10:42:37 +02:00
Johannes Zellner 98ea5a7b70 Setup backup encryption in extra step 2025-08-06 13:53:06 +02:00
Johannes Zellner cf86645bb5 Remove backup list from backup targets view 2025-08-04 15:17:46 +02:00
Johannes Zellner 1016d41d7a Rename backup label to name and separate backup listing into new view 2025-08-04 15:00:24 +02:00
Johannes Zellner 19893601f2 Show backup target status 2025-08-04 11:48:00 +02:00
Girish Ramakrishnan ead6d9c7d3 Fix app import 2025-08-02 20:42:12 +02:00
Johannes Zellner 175b2914b6 Make basic backup target add and edit work 2025-07-31 17:25:31 +02:00
Girish Ramakrishnan 89388940ed backups: make backup download config work 2025-07-28 11:18:02 +02:00
Johannes Zellner c3e746aa74 Allow to redo the update if the app task failed 2025-07-24 11:35:50 +02:00
Johannes Zellner a839638478 Remove app start/stop button from toolbar 2025-07-23 13:16:13 +02:00
Johannes Zellner 585885e6a2 Add detailed disk usage view on click 2025-07-17 19:27:09 +02:00
Johannes Zellner 149af003d4 Show filesystem overview in disk usage 2025-07-17 17:06:37 +02:00
Johannes Zellner 696632e551 Enable clearing of user avatar 2025-07-16 18:56:00 +02:00
Johannes Zellner b1752de36f Ensure HeaderBar and Profile view use the same profile object so avatar gets synced 2025-07-16 18:32:06 +02:00
Johannes Zellner 579f5d7c8a pankow moved to @cloudron/pankow 2025-07-10 11:55:11 +02:00
Girish Ramakrishnan 4cf1739604 metrics: overlay app metrics over system metrics 2025-07-07 19:12:57 +02:00
Girish Ramakrishnan 369474a0bc metrics: add route to query app metrics with the system 2025-07-07 19:12:57 +02:00
Johannes Zellner 61ac1c4ae3 If we have an app task, start with 5% progress 2025-07-07 17:37:48 +02:00
Girish Ramakrishnan 2317c17b4b metrics: interval is not configurable, unnecessary 2025-07-04 23:20:38 +02:00
Girish Ramakrishnan 813409a8fb graphs: directly stream docker stats
docker stats API caches the stat and reading it frequently gives back the same value.
this trips our "rate" code into thinking rate is 0.

one approach was to persist polling like we do now and ignore entries based on stats.read.
this works fine but the streaming approach seems better since we don't need to poll anymore.
2025-07-04 00:03:43 +02:00
Girish Ramakrishnan a6a715b8c2 apps: make app graphs use GraphItem 2025-07-03 16:39:18 +02:00
Johannes Zellner 39c0af46b0 Show platform status in headerbar 2025-07-01 11:49:40 +02:00
Johannes Zellner 713f1239c6 Allow admins to set users avatars 2025-06-30 22:44:59 +02:00
Johannes Zellner 8e18a5fb4c Implement update dialog 2025-06-30 17:35:01 +02:00
Girish Ramakrishnan 2486aee24d AppsView: updateInfo is now part of app object 2025-06-26 16:57:55 +02:00
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 1ca8eeeb50 split oidc into server and clients 2025-06-11 22:26:23 +02:00
Girish Ramakrishnan 30b6d1cd1d app: send POST body on restart 2025-06-11 11:51:54 +02:00
Johannes Zellner 1ddba4a76f Rework the 2fa disable dialog 2025-06-11 10:47:47 +02:00
Johannes Zellner 53b83909ed Convert password change dialog 2025-06-11 10:34:58 +02:00
Johannes Zellner af75060001 Reimplement fallback email dialog 2025-06-11 10:22:09 +02:00
Johannes Zellner 315210fe29 Improve primary email change dialog 2025-06-11 09:53:42 +02:00
Girish Ramakrishnan a93c85ebc9 profile: drop gravatar support
gravatar is owned by an external entity (Automattic) and we have an
unnecessary dep to this service. users can just upload a profile pic
2025-06-08 18:12:40 +02:00
Girish Ramakrishnan 344782099f add explicit unset for the image routes
the initial motivation was to fix up the profile avatar rule which
had a mix of json or multipart. this style does not work well with
express 5
2025-06-06 18:58:49 +02:00
Girish Ramakrishnan c49050ea69 appstore: removed old route and rename to reset_cloudron_id 2025-06-06 13:39:30 +02:00
Johannes Zellner d47b947acf Bring back possibility to disable 2fa for a user from the users view 2025-06-04 10:48:57 +02:00