Prepare Portainer stack deployment
This commit is contained in:
@@ -1,58 +1,75 @@
|
||||
version: "3.9"
|
||||
|
||||
services:
|
||||
contract-companion:
|
||||
build: .
|
||||
container_name: contract-companion
|
||||
image: ${BACKEND_IMAGE:-paperless-contract-companion-api:latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: Dockerfile
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
- PORT=8000
|
||||
- LOG_LEVEL=info
|
||||
- LOG_LEVEL=${LOG_LEVEL:-info}
|
||||
- DATABASE_PATH=/app/data/contracts.db
|
||||
- PAPERLESS_BASE_URL=http://192.168.178.33:8010
|
||||
- PAPERLESS_EXTERNAL_URL=https://paperless.srv.medeba-media.de
|
||||
- PAPERLESS_TOKEN=6b45776ff3fbbc809a46fc59a80e3ce867cae09a
|
||||
- ALERT_DAYS_BEFORE=45
|
||||
- SCHEDULER_INTERVAL_MINUTES=60
|
||||
- AUTH_USERNAME=admin
|
||||
- AUTH_PASSWORD=change-me
|
||||
- AUTH_JWT_SECRET=replace-with-random-secret
|
||||
- AUTH_TOKEN_EXPIRES_IN_HOURS=12
|
||||
# Optional ntfy push settings:
|
||||
# - NTFY_SERVER_URL=https://ntfy.example.com
|
||||
# - NTFY_TOPIC=contracts
|
||||
# - NTFY_TOKEN=secret
|
||||
# - NTFY_PRIORITY=high
|
||||
# Optional mail settings:
|
||||
# - MAIL_SERVER=smtp.example.com
|
||||
# - MAIL_PORT=587
|
||||
# - MAIL_USERNAME=mailer
|
||||
# - MAIL_PASSWORD=secret
|
||||
# - MAIL_USE_TLS=true
|
||||
# - MAIL_FROM=contract-monitor@example.com
|
||||
# - MAIL_TO=you@example.com
|
||||
- APP_EXTERNAL_URL=https://vertraege.srv.medeba-media.de
|
||||
- APP_LOCALE=de
|
||||
# Optional: festen iCal-Token vorgeben
|
||||
# - ICAL_SECRET=replace-with-secret
|
||||
- ALERT_DAYS_BEFORE=${ALERT_DAYS_BEFORE:-45}
|
||||
- SCHEDULER_INTERVAL_MINUTES=${SCHEDULER_INTERVAL_MINUTES:-60}
|
||||
- AUTH_USERNAME=${AUTH_USERNAME:-admin}
|
||||
- AUTH_PASSWORD=${AUTH_PASSWORD:?Set AUTH_PASSWORD in Portainer stack environment}
|
||||
- AUTH_JWT_SECRET=${AUTH_JWT_SECRET:?Set AUTH_JWT_SECRET in Portainer stack environment}
|
||||
- AUTH_TOKEN_EXPIRES_IN_HOURS=${AUTH_TOKEN_EXPIRES_IN_HOURS:-12}
|
||||
- APP_LOCALE=${APP_LOCALE:-de}
|
||||
- PAPERLESS_BASE_URL
|
||||
- PAPERLESS_EXTERNAL_URL
|
||||
- PAPERLESS_TOKEN
|
||||
- APP_EXTERNAL_URL
|
||||
- NTFY_SERVER_URL
|
||||
- NTFY_TOPIC
|
||||
- NTFY_TOKEN
|
||||
- NTFY_PRIORITY
|
||||
- MAIL_SERVER
|
||||
- MAIL_PORT
|
||||
- MAIL_USERNAME
|
||||
- MAIL_PASSWORD
|
||||
- MAIL_USE_TLS
|
||||
- MAIL_FROM
|
||||
- MAIL_TO
|
||||
- ICAL_SECRET
|
||||
volumes:
|
||||
- contracts-data:/app/data
|
||||
ports:
|
||||
- "8112:8000"
|
||||
- "${BACKEND_PORT:-8112}:8000"
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=false"
|
||||
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_ENABLE:-false}"
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1:8000/healthz >/dev/null 2>&1 || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 20s
|
||||
networks:
|
||||
- contract-companion
|
||||
|
||||
contract-companion-ui:
|
||||
image: ${FRONTEND_IMAGE:-paperless-contract-companion-ui:latest}
|
||||
build:
|
||||
context: .
|
||||
dockerfile: frontend/Dockerfile
|
||||
container_name: contract-companion-ui
|
||||
restart: unless-stopped
|
||||
ports:
|
||||
- "8113:80"
|
||||
- "${FRONTEND_PORT:-8113}:80"
|
||||
labels:
|
||||
- "com.centurylinklabs.watchtower.enable=false"
|
||||
- "com.centurylinklabs.watchtower.enable=${WATCHTOWER_ENABLE:-false}"
|
||||
healthcheck:
|
||||
test: ["CMD-SHELL", "wget -qO- http://127.0.0.1/ >/dev/null 2>&1 || exit 1"]
|
||||
interval: 30s
|
||||
timeout: 5s
|
||||
retries: 3
|
||||
start_period: 20s
|
||||
depends_on:
|
||||
- contract-companion
|
||||
networks:
|
||||
- contract-companion
|
||||
|
||||
volumes:
|
||||
contracts-data:
|
||||
|
||||
networks:
|
||||
contract-companion:
|
||||
|
||||
Reference in New Issue
Block a user