Files
ente-cloudron/BUILD-INSTRUCTIONS.md
Your Name 37cd205a07 Fix Ente Cloudron packaging issues
- Fixed admin-helper.sh to use correct Museum binary path (/app/museum-bin/museum)
- Updated start.sh to handle missing S3 configuration gracefully
  - App now starts in configuration mode when S3 is not configured
  - Shows helpful configuration page instead of failing health checks
  - Properly starts Museum server once S3 is configured
- Updated CloudronManifest.json to version 0.2.2
- All web frontends (photos, accounts, auth, cast, albums, family) verified working
- Museum API server running successfully with S3 storage

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-10-21 19:20:15 -06:00

2.8 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.2.1) 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.2.1 \
      --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.2.1

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.
  • 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