85 lines
2.4 KiB
YAML
85 lines
2.4 KiB
YAML
services:
|
|
fluxip-init:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: fluxip:local
|
|
user: "0:0"
|
|
command:
|
|
- /bin/sh
|
|
- /app/deploy/prepare-volumes.sh
|
|
volumes:
|
|
- ./data/fluxip-data:/app/data
|
|
- ./data/fluxip-key:/app/secrets
|
|
- ./data/fluxip-backups:/app/backups
|
|
read_only: true
|
|
network_mode: none
|
|
cap_drop:
|
|
- ALL
|
|
cap_add:
|
|
- CHOWN
|
|
- DAC_OVERRIDE
|
|
- FOWNER
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
healthcheck:
|
|
disable: true
|
|
restart: "no"
|
|
|
|
fluxip:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: fluxip:local
|
|
container_name: fluxip
|
|
restart: unless-stopped
|
|
init: true
|
|
depends_on:
|
|
fluxip-init:
|
|
condition: service_completed_successfully
|
|
ports:
|
|
- "${FLUXIP_BIND_ADDRESS:-127.0.0.1}:${FLUXIP_PORT:-8787}:8787"
|
|
environment:
|
|
ROTATOR_ENVIRONMENT: production
|
|
ROTATOR_HOST: 0.0.0.0
|
|
ROTATOR_PORT: 8787
|
|
ROTATOR_DATABASE_PATH: /app/data/fluxip.db
|
|
ROTATOR_MASTER_KEY_FILE: /app/secrets/master.key
|
|
ROTATOR_BOOTSTRAP_TOKEN: "${ROTATOR_BOOTSTRAP_TOKEN:-}"
|
|
ROTATOR_COOKIE_SECURE: "${ROTATOR_COOKIE_SECURE:-false}"
|
|
ROTATOR_SESSION_DAYS: "${ROTATOR_SESSION_DAYS:-7}"
|
|
ROTATOR_ALLOWED_ORIGINS: "${ROTATOR_ALLOWED_ORIGINS:-http://127.0.0.1:8787}"
|
|
ROTATOR_TRUSTED_HOSTS: "${ROTATOR_TRUSTED_HOSTS:-localhost,127.0.0.1}"
|
|
ROTATOR_TRUSTED_PROXIES: "${ROTATOR_TRUSTED_PROXIES:-127.0.0.1,::1}"
|
|
ROTATOR_SCHEDULER_ENABLED: "${ROTATOR_SCHEDULER_ENABLED:-true}"
|
|
ROTATOR_SCHEDULER_TICK_SECONDS: "${ROTATOR_SCHEDULER_TICK_SECONDS:-10}"
|
|
ROTATOR_LOG_LEVEL: "${ROTATOR_LOG_LEVEL:-INFO}"
|
|
ROTATOR_EXTERNAL_TIMEOUT_SECONDS: "${ROTATOR_EXTERNAL_TIMEOUT_SECONDS:-20}"
|
|
volumes:
|
|
- ./data/fluxip-data:/app/data
|
|
- ./data/fluxip-key:/app/secrets
|
|
- ./data/fluxip-backups:/app/backups
|
|
read_only: true
|
|
tmpfs:
|
|
- /tmp:size=32m,mode=1777
|
|
cap_drop:
|
|
- ALL
|
|
security_opt:
|
|
- no-new-privileges:true
|
|
stop_grace_period: 30s
|
|
healthcheck:
|
|
test:
|
|
- CMD
|
|
- python
|
|
- -c
|
|
- import urllib.request; urllib.request.urlopen('http://127.0.0.1:8787/readyz', timeout=3).read()
|
|
interval: 30s
|
|
timeout: 5s
|
|
start_period: 20s
|
|
retries: 3
|
|
logging:
|
|
driver: json-file
|
|
options:
|
|
max-size: 10m
|
|
max-file: "3"
|