From fe7bc7213187010afd355274620407ae2790da0a Mon Sep 17 00:00:00 2001 From: Andreas Dueren Date: Tue, 4 Nov 2025 18:20:43 -0600 Subject: [PATCH] Document required S3 CORS for cast --- POSTINSTALL.md | 1 + README.md | 2 +- 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/POSTINSTALL.md b/POSTINSTALL.md index 4f3ff26..f4428c7 100644 --- a/POSTINSTALL.md +++ b/POSTINSTALL.md @@ -8,6 +8,7 @@ Before using Ente, configure an S3-compatible object storage provider: 2. Launch the file explorer. 3. Open `/app/data/config/s3.env` and provide values for **all** required keys. 4. Save the file and restart the app from the Cloudron dashboard. +5. (Required for cast/slideshow) Configure your S3 bucket’s CORS policy to allow the Ente domains you serve from Cloudron (e.g. `https://ente.due.ren`, `https://accounts.due.ren`, `https://cast.due.ren`, etc.). Without CORS, browsers will block the signed URLs that power the cast slideshow. Supported variables: - `S3_ENDPOINT` (e.g. `https://.r2.cloudflarestorage.com`) diff --git a/README.md b/README.md index 1f55e55..467cd3a 100644 --- a/README.md +++ b/README.md @@ -55,7 +55,7 @@ The app is configured automatically using Cloudron's environment variables for: After installing on Cloudron remember to: -1. Open the File Manager for the app, edit `/app/data/config/s3.env` with your object storage endpoint/keys, and restart the app. +1. Open the File Manager for the app, edit `/app/data/config/s3.env` with your object storage endpoint/keys, and restart the app. If you are using Cloudflare R2 or another S3-compatible service, configure the bucket’s CORS policy to allow the Ente frontends (e.g. `https://ente.due.ren`, `https://accounts.due.ren`, `https://cast.due.ren`, etc.) so that cast/slideshow playback can fetch signed URLs directly from storage. 2. When prompted during installation, pick hostnames for the Accounts/Auth/Cast/Albums/Family web apps (they are exposed via Cloudron `httpPorts`). Ensure matching DNS records exist; Cloudron-managed DNS creates them automatically, otherwise point CNAME/A records such as `accounts.` at the primary hostname. 3. To persist tweaks to Museum (for example, seeding super-admin or whitelist entries), create `/app/data/config/museum.override.yaml`. Its contents are appended to the generated `museum/configurations/local.yaml` on every start, so you only need to declare the keys you want to override. ```yaml