Since yesterday, I have this message when I try to do a domain change, while adding or modifying a Porkbun domain.
I have not changed any settings on Porkbun.
Since yesterday, I have this message when I try to do a domain change, while adding or modifying a Porkbun domain.
I have not changed any settings on Porkbun.
Here's my full update log:
Apr 20 10:49:23 ✓ Compiled successfully in 27.9s
Apr 20 10:49:23 Skipping validation of types
Apr 20 10:49:23 Finished TypeScript config validation in 21ms . Finished TypeScript config validation in 21ms ✓ Finished TypeScript config validation in 21ms
Apr 20 10:49:27 Collecting page data using 11 workers . Collecting page data using 11 workers .. Collecting page data using 11 workers ... Collecting page data using 11 workers . Collecting page data using 11 workers .. Collecting page data using 11 workers ... Collecting page data using 11 workers . Collecting page data using 11 workers .. Collecting page data using 11 workers ... Collecting page data using 11 workers . Collecting page data using 11 workers in 4.0s ✓ Collecting page data using 11 workers in 4.0s
Apr 20 10:49:28 Generating static pages using 11 workers (0/57) [ ] Generating static pages using 11 workers (15/57) [= ] Generating static pages using 11 workers (31/57) [== ] Generating static pages using 11 workers (34/57) [=== ] Generating static pages using 11 workers (42/57) [ ===]✓ Generating static pages using 11 workers (57/57) in 911ms
Apr 20 10:49:30 Finalizing page optimization . Finalizing page optimization .. Finalizing page optimization ... Finalizing page optimization . Finalizing page optimization .. Finalizing page optimization ... Finalizing page optimization in 1186ms ✓ Finalizing page optimization in 1186ms
Apr 20 10:49:30 2026-04-20T08:49:30Z
Apr 20 10:49:30 Route (app)
Apr 20 10:49:30 ┌ ƒ /
Apr 20 10:49:30 ├ ƒ /_not-found
Apr 20 10:49:30 ├ ƒ /admin/teams
Apr 20 10:49:30 ├ ƒ /admin/teams/[teamId]
Apr 20 10:49:30 ├ ƒ /admin/users
Apr 20 10:49:30 ├ ƒ /admin/users/[userId]
Apr 20 10:49:30 ├ ƒ /admin/websites
Apr 20 10:49:30 ├ ƒ /admin/websites/[websiteId]
Apr 20 10:49:30 ├ ƒ /api/admin/teams
Apr 20 10:49:30 ├ ƒ /api/admin/users
Apr 20 10:49:30 ├ ƒ /api/admin/websites
Apr 20 10:49:30 ├ ƒ /api/auth/login
Apr 20 10:49:30 ├ ƒ /api/auth/logout
Apr 20 10:49:30 ├ ƒ /api/auth/sso
Apr 20 10:49:30 ├ ƒ /api/auth/verify
Apr 20 10:49:30 ├ ƒ /api/batch
Apr 20 10:49:30 ├ ƒ /api/boards
Apr 20 10:49:30 ├ ƒ /api/boards/[boardId]
Apr 20 10:49:30 ├ ƒ /api/boards/[boardId]/shares
Apr 20 10:49:30 ├ ƒ /api/config
Apr 20 10:49:30 ├ ƒ /api/dashboard
Apr 20 10:49:30 ├ ƒ /api/heartbeat
Apr 20 10:49:30 ├ ƒ /api/links
Apr 20 10:49:30 ├ ƒ /api/links/[linkId]
Apr 20 10:49:30 ├ ƒ /api/links/[linkId]/shares
Apr 20 10:49:30 ├ ƒ /api/me
Apr 20 10:49:30 ├ ƒ /api/me/password
Apr 20 10:49:30 ├ ƒ /api/me/teams
Apr 20 10:49:30 ├ ƒ /api/me/websites
Apr 20 10:49:30 ├ ƒ /api/pixels
Apr 20 10:49:30 ├ ƒ /api/pixels/[pixelId]
Apr 20 10:49:30 ├ ƒ /api/pixels/[pixelId]/shares
Apr 20 10:49:30 ├ ƒ /api/realtime/[websiteId]
Apr 20 10:49:30 ├ ƒ /api/record
Apr 20 10:49:30 ├ ƒ /api/reports
Apr 20 10:49:30 ├ ƒ /api/reports/[reportId]
Apr 20 10:49:30 ├ ƒ /api/reports/attribution
Apr 20 10:49:30 ├ ƒ /api/reports/breakdown
Apr 20 10:49:30 ├ ƒ /api/reports/funnel
Apr 20 10:49:30 ├ ƒ /api/reports/goal
Apr 20 10:49:30 ├ ƒ /api/reports/journey
Apr 20 10:49:30 ├ ƒ /api/reports/performance
Apr 20 10:49:30 ├ ƒ /api/reports/retention
Apr 20 10:49:30 ├ ƒ /api/reports/revenue
Apr 20 10:49:30 ├ ƒ /api/reports/utm
Apr 20 10:49:30 ├ ƒ /api/scripts/telemetry
Apr 20 10:49:30 ├ ƒ /api/send
Apr 20 10:49:30 ├ ƒ /api/share
Apr 20 10:49:30 ├ ƒ /api/share/[slug]
Apr 20 10:49:30 ├ ƒ /api/share/id/[shareId]
Apr 20 10:49:30 ├ ƒ /api/teams
Apr 20 10:49:30 ├ ƒ /api/teams/[teamId]
Apr 20 10:49:30 ├ ƒ /api/teams/[teamId]/boards
Apr 20 10:49:30 ├ ƒ /api/teams/[teamId]/links
Apr 20 10:49:30 ├ ƒ /api/teams/[teamId]/pixels
Apr 20 10:49:30 ├ ƒ /api/teams/[teamId]/users
Apr 20 10:49:30 ├ ƒ /api/teams/[teamId]/users/[userId]
Apr 20 10:49:30 ├ ƒ /api/teams/[teamId]/websites
Apr 20 10:49:30 ├ ƒ /api/teams/join
Apr 20 10:49:30 ├ ƒ /api/users
Apr 20 10:49:30 ├ ƒ /api/users/[userId]
Apr 20 10:49:30 ├ ƒ /api/users/[userId]/teams
Apr 20 10:49:30 ├ ƒ /api/users/[userId]/websites
Apr 20 10:49:30 ├ ƒ /api/websites
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/active
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/daterange
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/event-data
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/event-data/[eventId]
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/event-data/events
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/event-data/fields
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/event-data/properties
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/event-data/stats
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/event-data/values
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/events
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/events/series
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/events/stats
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/export
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/metrics
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/metrics/expanded
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/pageviews
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/replays
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/replays/[replayId]
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/replays/saved
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/replays/saved/[replayId]
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/reports
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/reset
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/revenue/sessions
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/segments
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/segments/[segmentId]
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/session-data/properties
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/session-data/values
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/sessions
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/sessions/[sessionId]
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/sessions/[sessionId]/activity
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/sessions/[sessionId]/properties
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/sessions/[sessionId]/replays
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/sessions/stats
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/sessions/weekly
Apr 20 10:49:30 => Healthcheck error: Error: connect ECONNREFUSED [REDACTED_IP]:3000
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/shares
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/stats
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/transfer
Apr 20 10:49:30 ├ ƒ /api/websites/[websiteId]/values
Apr 20 10:49:30 ├ ƒ /boards
Apr 20 10:49:30 ├ ƒ /boards/[boardId]
Apr 20 10:49:30 ├ ƒ /boards/[boardId]/design
Apr 20 10:49:30 ├ ƒ /boards/[boardId]/edit
Apr 20 10:49:30 ├ ƒ /boards/create
Apr 20 10:49:30 ├ ƒ /console/[websiteId]
Apr 20 10:49:30 ├ ƒ /dashboard
Apr 20 10:49:30 ├ ƒ /dashboard/edit
Apr 20 10:49:30 ├ ƒ /links
Apr 20 10:49:30 ├ ƒ /links/[linkId]
Apr 20 10:49:30 ├ ƒ /links/[linkId]/edit
Apr 20 10:49:30 ├ ƒ /login
Apr 20 10:49:30 ├ ƒ /logout
Apr 20 10:49:30 ├ ƒ /p/[slug]
Apr 20 10:49:30 ├ ƒ /pixels
Apr 20 10:49:30 ├ ƒ /pixels/[pixelId]
Apr 20 10:49:30 ├ ƒ /pixels/[pixelId]/edit
Apr 20 10:49:30 ├ ƒ /q/[slug]
Apr 20 10:49:30 ├ ƒ /settings/preferences
Apr 20 10:49:30 ├ ƒ /settings/profile
Apr 20 10:49:30 ├ ƒ /settings/teams
Apr 20 10:49:30 ├ ƒ /settings/teams/[teamId]
Apr 20 10:49:30 ├ ƒ /settings/websites
Apr 20 10:49:30 ├ ƒ /settings/websites/[websiteId]
Apr 20 10:49:30 ├ ƒ /share/[slug]/[[...path]]
Apr 20 10:49:30 ├ ƒ /sso
Apr 20 10:49:30 ├ ƒ /teams
Apr 20 10:49:30 ├ ƒ /websites
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/(.)replays/[sessionId]
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/(.)sessions/[sessionId]
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/attribution
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/breakdown
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/cohorts
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/compare
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/events
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/funnels
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/goals
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/journeys
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/performance
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/realtime
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/replays
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/replays/[replayId]
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/retention
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/revenue
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/segments
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/sessions
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/sessions/[sessionId]
Apr 20 10:49:30 ├ ƒ /websites/[websiteId]/settings
Apr 20 10:49:30 └ ƒ /websites/[websiteId]/utm
Apr 20 10:49:30 2026-04-20T08:49:30Z
Apr 20 10:49:30 2026-04-20T08:49:30Z
Apr 20 10:49:30 ƒ (Dynamic) server-rendered on demand
Apr 20 10:49:30 2026-04-20T08:49:30Z
Apr 20 10:49:30 $ node scripts/postbuild.js
Apr 20 10:49:30 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 10:49:30 Done in 54.27s.
Apr 20 10:49:30 => Running migrations
Apr 20 10:49:30 yarn run v1.22.22
Apr 20 10:49:30 $ prisma migrate deploy
Apr 20 10:49:32 Loaded Prisma config from prisma.config.ts.
Apr 20 10:49:32
Apr 20 10:49:32 Prisma schema loaded from prisma/schema.prisma.
Apr 20 10:49:32 Datasource "db": PostgreSQL database "dbaaccf0b576884f13aca5421102153087", schema "public" at "postgresql"
Apr 20 10:49:32 2026-04-20T08:49:32Z
Apr 20 10:49:32 19 migrations found in prisma/migrations
Apr 20 10:49:32 2026-04-20T08:49:32Z
Apr 20 10:49:32 2026-04-20T08:49:32Z
Apr 20 10:49:32 No pending migrations to apply.
Apr 20 10:49:32 Done in 2.09s.
Apr 20 10:49:32 ==> Starting Umami
Apr 20 10:49:33 yarn run v1.22.22
Apr 20 10:49:33 $ /app/code/node_modules/.bin/next start
Apr 20 10:49:33 ▲ Next.js 16.2.4
Apr 20 10:49:33 - Local: http://localhost:3000
Apr 20 10:49:33 - Network: http://[REDACTED_IP]:3000
Apr 20 10:49:33 ✓ Ready in 203ms
Apr 20 10:49:33 ⚠ "next start" does not work with "output: standalone" configuration. Use "node .next/standalone/server.js" instead.
@nebulon No OOM memory message from Cloudron or the system.
FYI, I had 2GB assigned to Umami with this error.
So changing it to 8GB (just to make sure), it did solve the update problem. But it feels weird to have to have more than 2GB to be able to update Umami.
I'll let this test update app running to see if any memory leaks are detected.
Very similar to https://forum.cloudron.io/topic/11607/umami-not-responding/14
Here's a log extract:
Apr 20 00:24:25 ✓ DATABASE_URL is defined.
Apr 20 00:24:25 ✓ Database connection successful.
Apr 20 00:24:25 ✓ Database version check successful.
Apr 20 00:24:27 Loaded Prisma config from prisma.config.ts.
Apr 20 00:24:27 2026-04-19T22:24:27Z
Apr 20 00:24:27 Prisma schema loaded from prisma/schema.prisma.
Apr 20 00:24:27 Datasource "db": PostgreSQL database "db53c8b24909c84909b42b7fd3fc800643", schema "public" at "postgresql"
Apr 20 00:24:27 2026-04-19T22:24:27Z
Apr 20 00:24:27 19 migrations found in prisma/migrations
Apr 20 00:24:27 2026-04-19T22:24:27Z
Apr 20 00:24:27 2026-04-19T22:24:27Z
Apr 20 00:24:27 No pending migrations to apply.
Apr 20 00:24:27 2026-04-19T22:24:27Z
Apr 20 00:24:27 ✓ Database is up to date.
Apr 20 00:24:30 => Healthcheck error: Error: connect ECONNREFUSED [REDACTED_IP]:3000
Apr 20 00:24:35 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:24:35 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:24:35 $ rollup -c rollup.tracker.config.js
Apr 20 00:24:35 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 00:24:36
Apr 20 00:24:36 src/tracker/index.js → public/script.js...
Apr 20 00:24:36 created public/script.js in 518ms
Apr 20 00:24:36 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:24:36 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:24:36 $ rollup -c rollup.recorder.config.js
Apr 20 00:24:37 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 00:24:37
Apr 20 00:24:37 src/recorder/index.js → public/recorder.js...
Apr 20 00:24:39 created public/recorder.js in 2.1s
Apr 20 00:24:39 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:24:39 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:24:39 $ node scripts/build-geo.js
Apr 20 00:24:39 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 00:24:40 Vercel environment detected. Skipping geo setup.
Apr 20 00:24:40 => Healthcheck error: Error: connect ECONNREFUSED [REDACTED_IP]:3000
Apr 20 00:24:40 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:24:40 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:24:40 $ next build --turbo
Apr 20 00:24:40 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 00:24:41 ▲ Next.js 16.2.4 (Turbopack)
Apr 20 00:24:41 2026-04-19T22:24:41Z
Apr 20 00:24:41 Creating an optimized production build ...
Apr 20 00:24:50 => Healthcheck error: Error: connect ECONNREFUSED [REDACTED_IP]:3000
Apr 20 00:25:00 => Healthcheck error: Error: connect ECONNREFUSED [REDACTED_IP]:3000
Apr 20 00:25:10 => Healthcheck error: Error: connect ECONNREFUSED [REDACTED_IP]:3000
Apr 20 00:25:20 => Healthcheck error: Error: connect ECONNREFUSED [REDACTED_IP]:3000
Apr 20 00:25:21 Killed
Apr 20 00:25:22 error Command failed with exit code 137.
Apr 20 00:25:22 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Apr 20 00:25:23 ERROR: "build-app" exited with 137.
Apr 20 00:25:24 error Command failed with exit code 1.
Apr 20 00:25:24 info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
Apr 20 00:25:25 ==> Changing ownership
Apr 20 00:25:25 NOTICE: extension "pgcrypto" already exists, skipping
Apr 20 00:25:25 CREATE EXTENSION
Apr 20 00:25:25 => Running build script that generates the migrations
Apr 20 00:25:25 yarn run v1.22.22
Apr 20 00:25:25 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:25:25 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:25:25 $ npm-run-all check-env build-db check-db build-tracker build-recorder build-geo build-app
Apr 20 00:25:25 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 00:25:26 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:25:26 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:25:26 $ node scripts/check-env.js
Apr 20 00:25:26 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 00:25:26 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:25:26 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:25:26 $ npm-run-all build-db-client build-prisma-client
Apr 20 00:25:26 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 00:25:27 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:25:27 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:25:27 $ prisma generate
Apr 20 00:25:27 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 00:25:28 Loaded Prisma config from prisma.config.ts.
Apr 20 00:25:28
Apr 20 00:25:29 Prisma schema loaded from prisma/schema.prisma.
Apr 20 00:25:29 2026-04-19T22:25:29Z
Apr 20 00:25:29 ✔ Generated Prisma Client (7.7.0) to ./src/generated/prisma in 326ms
Apr 20 00:25:29 2026-04-19T22:25:29Z
Apr 20 00:25:30 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:25:30 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:25:30 $ node scripts/build-prisma-client.js
Apr 20 00:25:30 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Apr 20 00:25:30 => Healthcheck error: Error: connect ECONNREFUSED [REDACTED_IP]:3000
Apr 20 00:25:30 warning Skipping preferred cache folder "/usr/local/share/.cache/yarn" because it is not writable.
Apr 20 00:25:30 warning Selected the next writable cache folder in the list, will be "/tmp/.yarn-cache-0".
Apr 20 00:25:30 $ node scripts/check-db.js
Apr 20 00:25:31 warning Cannot find a suitable global folder. Tried these: "/usr/local, /usr/local/share/.yarn"
Sounds neat!
@nebulon Yes please!
I think I tried Baikal, bubut the multiuser and shared calendar story was lacking. So back to Nextcloud for this, unfortunately.
@nebulon I can.
But now I have created a token which can theoretically update all domains.
But I'm starting to think it's Gandi who changed their permission model and actually, while maybe I can access through the UI to many domain where I've been added as a technical contact, it's possible that somehow that permissions still need to be added manually elsewhere.
I'll contact Gandi support next week.
@nebulon Ah right, since the domain was already pointing to the server, it immediately worked after retrying ththe failing task.
Now I'm starting to wonder when these other gandi domains are going to rotate their letsencrypt certificates and error out as well. 🥶
And a third more serious error 
See: https://forum.cloudron.io/topic/15181/gandi-dns-failing-to-be-set-using-either-api-token-or-pat
Since I installed 9.1, I noticed 2 apps I used based on domains from Gandi were not restarting due to letsencrypt provisioning issues. Basically Cloudron can't connect to Gandi either using the legacy API token or the new PAT.
Here's the error:
Gandi DNS error [403] {"object": "HTTPForbidden", "cause": "Forbidden", "code": 403, "message": "Access was denied to this resource."} BoxError: Gandi DNS error [403] {"object": "HTTPForbidden", "cause": "Forbidden", "code": 403, "message": "Access was denied to this resource."}
This also happens when I manually try to change those values directly in the Domains interface. (I tried the Gandi CURL example with the same token, so this is clearly not an error with the token)
What can I do to fix this. I already have a customer complaining their website is down, and I seemingly can't do anything to fix this, since it's letsencrypt related.
Two small issues:

@nebulon Thank you, because I was trying to find a way to deal with that without having to install Nextcloud.
Are you planning to do a Caldav server in the same way? 
I'm guessing it's a new cardav contact app made for cloudron and maybe a new calendar app will be posted soon as well.
(That's what I hope at least
)
Second vote for Mobilizon. It doesn't look a very fancy stack either, so should be easy enough. (famous last words)
Minio is back:
https://blog.vonng.com/en/db/minio-resurrect/
I see on the HN conversation people are doubting the author, and some others also mention Chainguard will also keep a fork with CVE patched: https://github.com/chainguard-forks/minio
Maybe it's worth waiting a bit to see which fork get consistent maintenance.
Thank you for creating that subject, I've been quite annoyed with this for some time, but never got to write it down.
Please make sure coming back get you back to your previous filtering.
In the Email status, the expected value is overflowing and while I know it's probably ok to just double click to get the complete value selected, I would like to be sure of it. 

As an improvement, I'd like to suggest as well to add a copy button and/or make clicking on the field itself copy the value.
It would make it very easy to not mess up by selecting an incomplete value.