ruihildt
Posts
-
Improved view on mobile for readability -
Bewcloud- Title: BewCloud - The Simple Web Cloud Solution
- Main Page: https://bewcloud.com/
- Git: https://github.com/bewcloud/bewcloud
- Licence: AGPL 3
- Dockerfile: https://github.com/bewcloud/bewcloud/blob/main/docker-compose.yml
- Demo: No
- Summary:
- Are you tired of the complexities and limitations of existing cloud platforms like Nextcloud and ownCloud?
- Are you seeking a modern, streamlined alternative that offers unparalleled simplicity and efficiency?
- Look no further than bewCloud – an innovative, open-source cloud solution crafted with TypeScript and Deno. 🦕
- Notes:
- Looks like a good simpler alternative to Nextcloud
- Privacy first, self hosting
-
Community Apps >>> Cloudron Catalog Apps@girish As a cloudron customer, I will always trust more cloudron to do a good job maintaining a package, so if it makes sense to take over an existing package which is community maintained (due to general demand for example), then Cloudron should do it.
-
Porkbun DNS error 503 Your config file does not appear to be formatted correctly.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.
-
Umami not respondingHere'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. -
Umami not responding@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.
-
Umami not respondingVery 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" -
Private CloudronVersions.jsonSounds neat!
-
Sabre/dav - CalDAV and CardDAV server, alternative to Radicale.@nebulon Yes please!
-
Sabre/dav - CalDAV and CardDAV server, alternative to Radicale.I think I tried Baikal, bubut the multiuser and shared calendar story was lacking. So back to Nextcloud for this, unfortunately.
-
Letsencrypt renewal error due to Gandi DNS failing to be set using either API Token or PAT@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.
-
What's coming in 9.1 -
Letsencrypt renewal error due to Gandi DNS failing to be set using either API Token or PAT -
Letsencrypt renewal error due to Gandi DNS failing to be set using either API Token or PATNow I'm starting to wonder when these other gandi domains are going to rotate their letsencrypt certificates and error out as well. 🥶
-
What's coming in 9.1And a third more serious error

See: https://forum.cloudron.io/topic/15181/gandi-dns-failing-to-be-set-using-either-api-token-or-pat
-
Letsencrypt renewal error due to Gandi DNS failing to be set using either API Token or PATSince 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.
-
What's coming in 9.1Two small issues:
- "Dashboard" repeated twice in the tab title
- When installing an app, trying to add an existing contact, the usernames don't show

-
A link to describe the latest new app Contacts please -
A link to describe the latest new app Contacts pleaseI'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
) -
Looking for an App?Second vote for Mobilizon. It doesn't look a very fancy stack either, so should be easy enough. (famous last words)
