Files
ente-cloudron/BUILD-INSTRUCTIONS.md
Andreas Dueren f28b82db3f Update to version 0.4.3 with S3 configuration improvements
- Always regenerate Museum configuration on startup to enable runtime S3 credential changes
- Improve S3 configuration logging and validation for Cloudflare R2 endpoints
- Update SMTP configuration to use SMTPS port 2465 with TLS encryption
- Fix Caddy proxy headers to properly forward client information
- Add startup.log for enhanced troubleshooting
- Update build instructions and changelog for version 0.4.3
2025-10-30 08:57:37 -06:00

3.0 KiB
Raw Blame History

Ente Cloudron App Build & Deployment Guide

Prerequisites

  • Cloudron CLI (npm install -g cloudron) configured for your server
  • Docker (for local test builds, optional when using the Cloudron build service)
  • Access to this repository (andreasdueren/ente-cloudron)
  • Cloudron build-service token: e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e

Build

  1. Clone the repository (if needed):
    git clone https://github.com/andreasdueren/ente-cloudron.git
    cd ente-cloudron
    
  2. Build the image via the Cloudron build service. Adjust --tag to match CloudronManifest.json (0.4.3) and optionally override the Ente git ref:
    cloudron build \
      --set-build-service builder.docker.due.ren \
      --build-service-token e3265de06b1d0e7bb38400539012a8433a74c2c96a17955e \
      --set-repository andreasdueren/ente-cloudron \
      --tag 0.4.3 \
      --build-arg ENTE_GIT_REF=main
    
    Use a tagged Ente release for reproducible builds (e.g. --build-arg ENTE_GIT_REF=v0.9.0).

Install / Reinstall

Always uninstall the dev instance before reinstalling.

cloudron install \
  --location ente.due.ren \
  --image andreasdueren/ente-cloudron:0.4.3

If the install command runs for more than ~30seconds without feedback, abort and inspect cloudron logs --app ente.due.ren.

Smoke Tests

  1. Open https://ente.due.ren/health and ensure it returns status: OK.
  2. Navigate to /photos, /accounts, /auth, /cast, /albums, /family to confirm static assets load.
  3. Tail logs while signing up a user to verify Museum output:
    cloudron logs --app ente.due.ren -f
    

Required Configuration

Populate /app/data/config/s3.env with valid S3 credentials and restart the app.

S3_ENDPOINT=https://<account>.r2.cloudflarestorage.com
S3_REGION=auto
S3_BUCKET=ente-due-ren
S3_ACCESS_KEY=XXXXXXXX
S3_SECRET_KEY=YYYYYYYY
S3_PREFIX=optional/path

Optional: set CLOUDRON_OIDC_IDENTIFIER, CLOUDRON_OIDC_CLIENT_ID, and CLOUDRON_OIDC_CLIENT_SECRET in the Cloudron UI to enable SSO in the generated Museum configuration.

Troubleshooting

  • S3 errors: Verify credentials in /app/data/config/s3.env; check connectivity using aws s3 ls --endpoint-url ... from a trusted host.
  • Startup issues: Inspect /app/data/logs/startup.log (also mirrored to cloudron logs) for rendered configuration and error messages.
  • Museum not starting: Inspect /app/data/museum/configurations/local.yaml for syntax issues; delete to regenerate.
  • Frontend stale after update: Restart the app—the startup script re-syncs static assets on each boot.
  • OIDC issues: Confirm the callback URL /api/v1/session/callback is allowed in the Cloudron SSO client configuration.

Useful Commands

cloudron exec --app ente.due.ren -- cat /app/data/museum/configurations/local.yaml
cloudron exec --app ente.due.ren -- ente --help
cloudron logs --app ente.due.ren -f
cloudron exec --app ente.due.ren -- tail -f /app/data/logs/startup.log