60 lines
1.7 KiB
YAML
60 lines
1.7 KiB
YAML
services:
|
|
postgres:
|
|
image: postgres:17
|
|
environment:
|
|
POSTGRES_DB: entkube
|
|
POSTGRES_USER: entkube
|
|
POSTGRES_PASSWORD: "${POSTGRES_PASSWORD:-changeme}"
|
|
volumes:
|
|
- postgres-data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U entkube -d entkube"]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 10
|
|
start_period: 10s
|
|
restart: unless-stopped
|
|
|
|
entkube:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: entkube:latest
|
|
ports:
|
|
- "8080:8080"
|
|
volumes:
|
|
- entkube-data:/app/Data
|
|
depends_on:
|
|
postgres:
|
|
condition: service_healthy
|
|
environment:
|
|
# --- Database ---
|
|
DatabaseProvider: Postgres
|
|
ConnectionStrings__DefaultConnection: "Host=postgres;Port=5432;Database=entkube;Username=entkube;Password=${POSTGRES_PASSWORD:-changeme}"
|
|
|
|
# --- Vault encryption ---
|
|
# Required. Generate with: openssl rand -base64 32
|
|
Vault__RootKey: "REPLACE_WITH_BASE64_32_BYTE_KEY"
|
|
|
|
# --- Auth ---
|
|
# Set to false after the first admin account is created.
|
|
Auth__AllowRegistration: "true"
|
|
|
|
# --- Bootstrap ---
|
|
# Optional. If set, this user is granted the Admin role on every startup
|
|
# (no-op if already admin). Useful for recovering access.
|
|
# Seed__AdminEmail: "admin@example.com"
|
|
|
|
# --- Email / SMTP (optional) ---
|
|
# Smtp__Host: "smtp.example.com"
|
|
# Smtp__Username: "user"
|
|
# Smtp__Password: "password"
|
|
# Smtp__FromAddress: "alerts@entkube.io"
|
|
restart: unless-stopped
|
|
|
|
volumes:
|
|
# Named volumes are NOT removed by "docker compose down".
|
|
# Data is only deleted if you explicitly run "docker compose down -v".
|
|
postgres-data:
|
|
entkube-data:
|