58 lines
1.8 KiB
YAML
58 lines
1.8 KiB
YAML
services:
|
|
admin:
|
|
build:
|
|
context: .
|
|
dockerfile: apps/admin/Dockerfile
|
|
args:
|
|
BETTER_AUTH_SECRET: "${BETTER_AUTH_SECRET}"
|
|
BETTER_AUTH_URL: "${BETTER_AUTH_URL:-https://innungsapp.com}"
|
|
BETTER_AUTH_BASE_URL: "${BETTER_AUTH_URL:-https://innungsapp.com}"
|
|
NEXT_PUBLIC_APP_URL: "${NEXT_PUBLIC_APP_URL:-https://innungsapp.com}"
|
|
container_name: innungsapp-admin
|
|
restart: unless-stopped
|
|
ports:
|
|
- "3010:3000"
|
|
environment:
|
|
# Database — SQLite file inside the named volume
|
|
DATABASE_URL: "file:/app/data/prod.db"
|
|
|
|
# Auth — CHANGE THESE in production!
|
|
BETTER_AUTH_SECRET: "${BETTER_AUTH_SECRET}"
|
|
BETTER_AUTH_URL: "${BETTER_AUTH_URL:-https://yourdomain.com}"
|
|
BETTER_AUTH_BASE_URL: "${BETTER_AUTH_URL:-https://yourdomain.com}"
|
|
|
|
# Email (SMTP)
|
|
EMAIL_FROM: "${EMAIL_FROM:-noreply@innungsapp.de}"
|
|
SMTP_HOST: "${SMTP_HOST}"
|
|
SMTP_PORT: "${SMTP_PORT:-587}"
|
|
SMTP_SECURE: "${SMTP_SECURE:-false}"
|
|
SMTP_USER: "${SMTP_USER}"
|
|
SMTP_PASS: "${SMTP_PASS}"
|
|
|
|
# Public URLs
|
|
NEXT_PUBLIC_APP_URL: "${NEXT_PUBLIC_APP_URL:-https://yourdomain.com}"
|
|
NEXT_PUBLIC_POSTHOG_KEY: "${NEXT_PUBLIC_POSTHOG_KEY:-}"
|
|
NEXT_PUBLIC_POSTHOG_HOST: "${NEXT_PUBLIC_POSTHOG_HOST:-https://us.i.posthog.com}"
|
|
|
|
# File uploads
|
|
UPLOAD_DIR: "/app/uploads"
|
|
UPLOAD_MAX_SIZE_MB: "${UPLOAD_MAX_SIZE_MB:-10}"
|
|
|
|
# Node
|
|
NODE_ENV: "production"
|
|
volumes:
|
|
# SQLite database — persists across restarts
|
|
- db_data:/app/data
|
|
# Uploaded files — persists across restarts
|
|
- uploads_data:/app/uploads
|
|
healthcheck:
|
|
test: ["CMD", "wget", "-qO-", "http://localhost:3000/api/health"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
volumes:
|
|
db_data:
|
|
uploads_data:
|