86 lines
4.0 KiB
Markdown
86 lines
4.0 KiB
Markdown
Your Ente installation is almost ready!
|
||
|
||
## Required: External Object Storage
|
||
|
||
Before using Ente, configure an S3-compatible object storage provider:
|
||
|
||
1. Open the Cloudron dashboard and select your Ente app.
|
||
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.
|
||
- **Backblaze B2 tip:** B2 ships with “native” CORS rules that block S3-style updates. Install the Backblaze CLI `pip install 'b2<4'`, then:
|
||
```bash
|
||
# Authorise once (replace with your key ID/secret)
|
||
b2 authorize-account <KEY_ID> <APP_KEY>
|
||
|
||
# Clear any native rules
|
||
b2 bucket update --cors-rules '[]' ente-due-ren allPublic
|
||
|
||
# Apply the S3-compatible rule (adjust origins as needed)
|
||
cat >cors.json <<'EOF'
|
||
[
|
||
{
|
||
"corsRuleName": "ente-web",
|
||
"allowedOrigins": [
|
||
"https://ente.due.ren",
|
||
"https://accounts.due.ren",
|
||
"https://auth.due.ren",
|
||
"https://albums.due.ren",
|
||
"https://cast.due.ren",
|
||
"https://family.due.ren"
|
||
],
|
||
"allowedHeaders": ["*"],
|
||
"allowedOperations": [
|
||
"s3_get_object",
|
||
"s3_head_object",
|
||
"b2_download_file_by_name",
|
||
"b2_download_file_by_id"
|
||
],
|
||
"exposeHeaders": ["ETag","Content-Length","Content-Type"],
|
||
"maxAgeSeconds": 86400
|
||
}
|
||
]
|
||
EOF
|
||
b2 bucket update --cors-rules "$(<cors.json)" ente-due-ren allPublic
|
||
```
|
||
Verify with `curl -I -H 'Origin: https://ente.due.ren' <signed-url>`; you should see `Access-Control-Allow-Origin`.
|
||
|
||
Supported variables:
|
||
- `S3_ENDPOINT` (e.g. `https://<account>.r2.cloudflarestorage.com`)
|
||
- `S3_REGION`
|
||
- `S3_BUCKET`
|
||
- `S3_ACCESS_KEY`
|
||
- `S3_SECRET_KEY`
|
||
- `S3_PREFIX` (optional path prefix)
|
||
- Optional replication: define `S3_SECONDARY_*` **and** `S3_DERIVED_*` (endpoints, keys, secrets, DC names) to mirror uploads to a second hot bucket and a third derived/cold bucket. Replication is only enabled when all three buckets are configured; otherwise the app stays in single-bucket mode. See [Ente’s object storage guide](https://ente.io/help/self-hosting/administration/object-storage) for sample setups and discussion of reliability.
|
||
|
||
## Required: Secondary Hostnames
|
||
|
||
The installer now asks for dedicated hostnames for the Auth/Accounts/Cast/Albums/Family web apps (via Cloudron `httpPorts`). If you manage DNS outside of Cloudron, create CNAME/A records such as `accounts.<app-domain>`, `auth.<app-domain>`, etc., pointing at the primary app domain. With Cloudron-managed DNS the records are created automatically.
|
||
|
||
## Administration
|
||
|
||
- **Grant yourself admin privileges**
|
||
1. Open the Cloudron dashboard → your Ente app → **File Manager**.
|
||
2. Navigate to `/app/data/config/` and open (or create) `museum.override.yaml`.
|
||
3. Add your email to the super-admin list:
|
||
```yaml
|
||
internal:
|
||
super-admins:
|
||
- you@example.com
|
||
```
|
||
4. Save the file and restart the app. The override is appended to Museum’s configuration on every start.
|
||
|
||
- **Sign in to the bundled CLI**
|
||
*The package now preconfigures the CLI (config: `/app/data/cli-data/config.yaml`, exports: `/app/data/cli-data/export`).*
|
||
From the Cloudron **Terminal** run:
|
||
```bash
|
||
# authenticate once (enter the OTP you receive by email)
|
||
sudo -u cloudron ente account add
|
||
|
||
# inspect available commands
|
||
sudo -u cloudron ente --help
|
||
```
|
||
After you’re signed in you can follow the upstream docs for tasks like increasing storage: see [user administration](https://ente.io/help/self-hosting/administration/users) and the [CLI reference](https://ente.io/help/self-hosting/administration/cli).
|