Ente Cloudron App

This repository contains the Cloudron packaging for Ente, an open-source, end-to-end encrypted alternative to Google Photos and Apple Photos.

Features

  • Self-host your own encrypted photo backup service
  • Automatically integrates with Cloudron's PostgreSQL database
  • Configured to use Cloudron's mail service for sending emails
  • Easy to deploy and manage through the Cloudron interface

Requirements

Browser Compatibility

Ente uses modern web technologies for its end-to-end encryption:

  • WebAssembly: Required for cryptographic operations
  • IndexedDB: Required for client-side data storage

Most modern browsers support these features, but they may be blocked by:

  • Browser privacy settings
  • Content Security Policies
  • Certain browser extensions

This package includes custom Caddy configuration with appropriate security headers to ensure these features work correctly.

S3-Compatible Storage

Ente requires an S3-compatible object storage service. You can use:

  • Cloudron's built-in object storage
  • External services like AWS S3, Wasabi, or MinIO

Building and Installing

Option 1: Build and Install Manually

  1. Clone this repository:

    git clone https://github.com/yourusername/ente-cloudron.git
    cd ente-cloudron
    
  2. Download the Cloudron CLI:

    npm install -g cloudron
    
  3. Build the app:

    cloudron build
    
  4. Install the app:

    cloudron install --app ente.yourdomain.com
    

Option 2: Install from the Cloudron App Store

Once this app is accepted into the Cloudron App Store, you can install it directly:

  1. Go to your Cloudron dashboard
  2. Click "App Store"
  3. Search for "Ente"
  4. Click "Install"

Configuration

The app is configured automatically using Cloudron's environment variables for:

  • PostgreSQL database connection
  • SMTP mail service
  • App origin URL

Additional Configuration

The package includes several enhancements to ensure proper functionality:

  1. Security Headers: Custom Content-Security-Policy headers that allow WebAssembly and IndexedDB
  2. API Configuration: Dynamic runtime configuration to ensure the frontend connects to the correct API endpoint
  3. CORS Headers: Proper CORS configuration for API access

You need to manually set up and configure:

  • S3-compatible object storage

Usage

Web Client

After installation, you can access the Ente web client at your app's URL. Create an admin account on first use.

Mobile Apps

You can use the official Ente mobile apps with your self-hosted server:

  1. Download the Ente app from the App Store or Google Play
  2. During login, choose "Custom Server"
  3. Enter your Cloudron app URL (e.g., https://ente.yourdomain.com)

Updating

To update to a newer version:

cloudron update --app ente.yourdomain.com

Troubleshooting

Common Issues

  1. "Failed to fetch" errors: Check if your browser is blocking API requests to your domain
  2. WebAssembly errors: Ensure your browser supports and allows WebAssembly (try using Chrome or Firefox)
  3. IndexedDB errors: Make sure your browser allows IndexedDB (not in private/incognito mode)

For issues specific to the Cloudron packaging, please open an issue in this repository.

For issues with Ente itself, please refer to the main Ente repository.

License

This Cloudron package is licensed under the same license as Ente (Apache 2.0).

Description
No description provided
Readme 5.9 MiB
Languages
Shell 80.3%
Dockerfile 19.7%