124 lines
3.5 KiB
Markdown
124 lines
3.5 KiB
Markdown
# Ente Cloudron App
|
|
|
|
This repository contains the Cloudron packaging for [Ente](https://ente.io), 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](https://apps.apple.com/app/id1542026904) or [Google Play](https://play.google.com/store/apps/details?id=io.ente.photos)
|
|
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](https://github.com/ente-io/ente).
|
|
|
|
## License
|
|
|
|
This Cloudron package is licensed under the same license as Ente (Apache 2.0). |