- 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>
		
			
				
	
	
		
			67 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			67 lines
		
	
	
		
			2.8 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # 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):
 | ||
|    ```bash
 | ||
|    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:
 | ||
|    ```bash
 | ||
|    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.
 | ||
| ```bash
 | ||
| cloudron install \
 | ||
|   --location ente.due.ren \
 | ||
|   --image andreasdueren/ente-cloudron:0.2.1
 | ||
| ```
 | ||
| If the install command runs for more than ~30 seconds 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:
 | ||
|    ```bash
 | ||
|    cloudron logs --app ente.due.ren -f
 | ||
|    ```
 | ||
| 
 | ||
| ## Required Configuration
 | ||
| Populate `/app/data/config/s3.env` with valid S3 credentials and restart the app.
 | ||
| ```bash
 | ||
| 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
 | ||
| ```bash
 | ||
| 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
 | ||
| ```
 |