54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
name: cruciverb
|
|
|
|
# copy this to docker-compose.yml (or point compose at it with -f) and
|
|
# copy .env.example to .env before starting
|
|
|
|
services:
|
|
app:
|
|
image: git.lashman.live/lashman/cruciverb:latest
|
|
container_name: cruciverb
|
|
restart: unless-stopped
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
memory: 512M
|
|
cpus: '2.0'
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -sf http://localhost:8080/health || exit 1"]
|
|
interval: 30s
|
|
timeout: 5s
|
|
retries: 3
|
|
start_period: 30s
|
|
ports:
|
|
- "${PORT:-8484}:8080"
|
|
volumes:
|
|
- ./data:/app/data
|
|
environment:
|
|
PORT: 8080
|
|
DATA_DIR: /app/data
|
|
STATIC_DIR: /app/static
|
|
RUST_LOG: info
|
|
|
|
# where your instance lives
|
|
INSTANCE_URL: ${INSTANCE_URL:-http://localhost:8484}
|
|
CORS_ORIGIN: ${CORS_ORIGIN:-http://localhost:8484}
|
|
|
|
# webauthn / passkeys
|
|
RP_ID: ${RP_ID:-localhost}
|
|
RP_ORIGIN: ${RP_ORIGIN:-http://localhost:8484}
|
|
|
|
# activitypub federation
|
|
AP_DOMAIN: ${AP_DOMAIN:-localhost}
|
|
AP_ACTOR_NAME: ${AP_ACTOR_NAME:-cruciverb}
|
|
|
|
# admin - leave empty, use first-run setup via browser instead
|
|
ADMIN_PATH: /admin
|
|
|
|
# set to true when nginx/caddy sits in front and sets x-forwarded-for
|
|
TRUST_PROXY: ${TRUST_PROXY:-false}
|
|
|
|
# at-rest encryption for user data - generate yours with
|
|
# openssl rand -hex 32
|
|
DATA_ENC_KEY: ${DATA_ENC_KEY:-} |