coolify/templates/compose/ente.yaml

82 lines
2.6 KiB
YAML
Raw Normal View History

2025-09-01 09:02:02 +00:00
# documentation: https://help.ente.io/
# slogan: End-to-end encrypted photo backup and sharing platform
# category: media
# tags: photos, backup, encryption, sharing, privacy, media, storage, encryption, minio, postgresql
# logo: svgs/ente.png
services:
museum:
image: ghcr.io/ente-io/server:latest
environment:
2025-09-05 22:30:48 +00:00
- SERVICE_URL_MUSEUM_8080
2025-09-02 13:49:54 +00:00
2025-09-05 22:30:48 +00:00
- ENTE_HTTP_USE_TLS=${ENTE_HTTP_USE_TLS:-false}
2025-09-02 13:49:54 +00:00
2025-09-05 22:30:48 +00:00
- ENTE_APPS_PUBLIC_ALBUMS=${SERVICE_URL_WEB_3002}
- ENTE_APPS_CAST=${SERVICE_URL_WEB_3004}
- ENTE_APPS_ACCOUNTS=${SERVICE_URL_WEB_3001}
2025-09-02 13:49:54 +00:00
2025-09-05 22:30:48 +00:00
- ENTE_DB_HOST=${ENTE_DB_HOST:-postgres}
- ENTE_DB_PORT=${ENTE_DB_PORT:-5432}
- ENTE_DB_NAME=${ENTE_DB_NAME:-ente_db}
- ENTE_DB_USER=${SERVICE_USER_POSTGRES:-pguser}
- ENTE_DB_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
2025-09-02 13:49:54 +00:00
2025-09-05 22:30:48 +00:00
- ENTE_KEY_ENCRYPTION=${SERVICE_REALBASE64_ENCRYPTION}
- ENTE_KEY_HASH=${SERVICE_REALBASE64_64_HASH}
2025-09-02 13:49:54 +00:00
2025-09-05 22:30:48 +00:00
- ENTE_JWT_SECRET=${SERVICE_REALBASE64_JWT}
2025-09-02 13:49:54 +00:00
2025-09-05 22:30:48 +00:00
- ENTE_INTERNAL_ADMIN=${ENTE_INTERNAL_ADMIN:-1580559962386438}
- ENTE_INTERNAL_DISABLE_REGISTRATION=${ENTE_INTERNAL_DISABLE_REGISTRATION:-false}
2025-09-02 13:49:54 +00:00
2025-09-05 22:30:48 +00:00
- ENTE_S3_B2_EU_CEN_ARE_LOCAL_BUCKETS=${PRIMARY_STORAGE_ARE_LOCAL_BUCKETS:-false}
- ENTE_S3_B2_EU_CEN_USE_PATH_STYLE_URLS=${PRIMARY_STORAGE_USE_PATH_STYLE_URLS:-true}
- ENTE_S3_B2_EU_CEN_KEY=${S3_STORAGE_KEY:?}
- ENTE_S3_B2_EU_CEN_SECRET=${S3_STORAGE_SECRET:?}
- ENTE_S3_B2_EU_CEN_ENDPOINT=${S3_STORAGE_ENDPOINT:?}
2025-09-07 20:53:40 +00:00
- ENTE_S3_B2_EU_CEN_REGION=${S3_STORAGE_REGION:-us-east-1}
2025-09-05 22:30:48 +00:00
- ENTE_S3_B2_EU_CEN_BUCKET=${S3_STORAGE_BUCKET:?}
2025-09-02 13:49:54 +00:00
2025-09-01 09:02:02 +00:00
depends_on:
postgres:
condition: service_healthy
volumes:
2025-09-02 13:49:54 +00:00
- museum-data:/data:rw
2025-09-01 09:02:02 +00:00
healthcheck:
2025-09-05 22:30:48 +00:00
test: ["CMD", "wget", "-qO-", "http://localhost:8080/ping"]
2025-09-01 09:02:02 +00:00
interval: 60s
timeout: 5s
retries: 3
2025-09-02 13:49:54 +00:00
start_period: 10s
2025-09-01 09:02:02 +00:00
web:
2025-09-02 13:49:54 +00:00
image: ghcr.io/ente-io/web
2025-09-01 09:02:02 +00:00
environment:
2025-09-05 22:30:48 +00:00
- SERVICE_URL_WEB_3000
- ENTE_API_ORIGIN=${SERVICE_URL_MUSEUM}
- ENTE_ALBUMS_ORIGIN=${SERVICE_URL_WEB_3002}
2025-09-02 13:49:54 +00:00
2025-09-01 09:02:02 +00:00
healthcheck:
2025-09-02 13:49:54 +00:00
test: ["CMD", "curl", "--fail", "http://localhost:3000"]
2025-09-01 09:02:02 +00:00
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
postgres:
image: postgres:15
environment:
2025-09-02 13:49:54 +00:00
- POSTGRES_USER=${SERVICE_USER_POSTGRES:-pguser}
- POSTGRES_PASSWORD=${SERVICE_PASSWORD_POSTGRES}
- POSTGRES_DB=${SERVICE_DB_NAME:-ente_db}
2025-09-01 09:02:02 +00:00
volumes:
- postgres-data:/var/lib/postgresql/data
healthcheck:
2025-09-05 22:30:48 +00:00
test: ["CMD-SHELL", "pg_isready -U ${POSTGRES_USER} -d ${POSTGRES_DB}"]
2025-09-01 09:02:02 +00:00
interval: 10s
timeout: 5s
retries: 5
start_period: 30s