Files
intranet/docker-compose.yml

130 lines
4.8 KiB
YAML

services:
web:
build: &app-build
context: .
dockerfile: Dockerfile
restart: unless-stopped
expose:
- "80"
environment: &app-environment
TZ: Europe/Berlin
INTRANET_FQDN: ${INTRANET_FQDN:?set INTRANET_FQDN}
DB_HOST: ${DB_HOST:?set DB_HOST}
DB_PORT: ${DB_PORT:-5432}
DB_NAME: ${DB_NAME:?set DB_NAME}
DB_USER: ${DB_USER:?set DB_USER}
DB_PASSWORD: ${DB_PASSWORD:?set DB_PASSWORD}
SMTP_HOST: ${SMTP_HOST:-smtp.strato.de}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_USER: ${SMTP_USER:?set SMTP_USER}
SMTP_PASSWORD: ${SMTP_PASSWORD:?set SMTP_PASSWORD}
ADMIN_EMAIL: ${ADMIN_EMAIL:-technik@nak-reinickendorf.de}
SMS_GATEWAY_URL: ${SMS_GATEWAY_URL:?set SMS_GATEWAY_URL}
HA_BASE_URL: ${HA_BASE_URL:?set HA_BASE_URL}
HA_TOKEN: ${HA_TOKEN:?set HA_TOKEN}
OPENWEATHER_API_KEY: ${OPENWEATHER_API_KEY:?set OPENWEATHER_API_KEY}
OLLAMA_GATEWAY_URL: ${OLLAMA_GATEWAY_URL:-https://ollama.pelpino.de}
OLLAMA_API_KEY: ${OLLAMA_API_KEY:-}
OLLAMA_AUTH_HEADER: ${OLLAMA_AUTH_HEADER:-Authorization}
OLLAMA_MODEL: ${OLLAMA_MODEL:-qwen3.8:27b}
OLLAMA_API_STYLE: ${OLLAMA_API_STYLE:-openai}
OLLAMA_TIMEOUT_SECONDS: ${OLLAMA_TIMEOUT_SECONDS:-600}
CONTENTPANEL_JOB_TIMEOUT_SECONDS: ${CONTENTPANEL_JOB_TIMEOUT_SECONDS:-3600}
OLLAMA_MAX_INPUT_CHARS: ${OLLAMA_MAX_INPUT_CHARS:-45000}
OLLAMA_CONTEXT_LENGTH: ${OLLAMA_CONTEXT_LENGTH:-32768}
CONTENTPANEL_MAX_INPUT_PAGES: ${CONTENTPANEL_MAX_INPUT_PAGES:-10}
CONTENTPANEL_MAX_RENDERED_PAGES: ${CONTENTPANEL_MAX_RENDERED_PAGES:-10}
CONTENTPANEL_RENDER_SCALE: ${CONTENTPANEL_RENDER_SCALE:-3}
CKAL_XLSX_DIR: /data/ckal-xlsx
volumes:
- profile_pictures:/var/www/html/intranet_repo/general_files/profile_pictures
- content_news:/var/www/html/intranet_repo/projects/contentpanel/insertion/news
- seelsorge_data:/var/www/html/intranet_repo/projects/seelsorge/data
- dashboard_month:/var/www/html/intranet_repo/projects/dashboard/month
- ckal_xlsx:/data/ckal-xlsx
- calendar_pdf:/var/www/html/pdf:ro
networks:
- app
- dokploy-network
contentpanel-worker:
build: *app-build
restart: unless-stopped
init: true
user: "33:33"
command: ["php", "/opt/intranet/worker/contentpanel_aushang/queue.php"]
environment: *app-environment
healthcheck:
disable: true
volumes:
- content_news:/var/www/html/intranet_repo/projects/contentpanel/insertion/news
networks:
- app
- dokploy-network
scheduler:
build:
context: .
dockerfile: Dockerfile
restart: unless-stopped
init: true
user: "33:33"
command: ["/opt/intranet/docker/scheduler.py"]
shm_size: "512m"
environment:
TZ: Europe/Berlin
HOME: /tmp/intranet-worker
XDG_CACHE_HOME: /tmp/intranet-worker-cache
PLAYWRIGHT_BROWSERS_PATH: /ms-playwright
INTRANET_FQDN: ${INTRANET_FQDN:?set INTRANET_FQDN}
DB_HOST: ${DB_HOST:?set DB_HOST}
DB_PORT: ${DB_PORT:-5432}
DB_NAME: ${DB_NAME:?set DB_NAME}
DB_USER: ${DB_USER:?set DB_USER}
DB_PASSWORD: ${DB_PASSWORD:?set DB_PASSWORD}
SMTP_HOST: ${SMTP_HOST:-smtp.strato.de}
SMTP_PORT: ${SMTP_PORT:-587}
SMTP_USER: ${SMTP_USER:?set SMTP_USER}
SMTP_PASSWORD: ${SMTP_PASSWORD:?set SMTP_PASSWORD}
ADMIN_EMAIL: ${ADMIN_EMAIL:-technik@nak-reinickendorf.de}
CKAL_USERNAME: ${CKAL_USERNAME:?set CKAL_USERNAME}
CKAL_PASSWORD: ${CKAL_PASSWORD:?set CKAL_PASSWORD}
CKAL_CALENDAR_URL: ${CKAL_CALENDAR_URL:?set CKAL_CALENDAR_URL}
CKAL_XLSX_DIR: /data/ckal-xlsx
PDF_OUTPUT: /data/pdf/terminuebersicht.pdf
DASHBOARD_MONTH_DIR: /var/www/html/intranet_repo/projects/dashboard/month
CALENDAR_INTERVAL_SECONDS: ${CALENDAR_INTERVAL_SECONDS:-60}
STRATO_SSH_HOST: ${STRATO_SSH_HOST:-ssh.strato.de}
STRATO_SSH_PORT: ${STRATO_SSH_PORT:-22}
STRATO_SSH_USER: ${STRATO_SSH_USER:?set STRATO_SSH_USER}
STRATO_REMOTE_PATH: ${STRATO_REMOTE_PATH:?set STRATO_REMOTE_PATH}
STRATO_SSH_KEY_FILE: /run/secrets/strato_ed25519
STRATO_KNOWN_HOSTS_FILE: /run/secrets/known_hosts
BRANDSCHUTZ_MAIL_ENABLED: ${BRANDSCHUTZ_MAIL_ENABLED:-false}
STRATO_SYNC_ENABLED: ${STRATO_SYNC_ENABLED:-false}
volumes:
- dashboard_month:/var/www/html/intranet_repo/projects/dashboard/month
- ckal_xlsx:/data/ckal-xlsx
- calendar_pdf:/data/pdf
- scheduler_state:/data/state
- ../files/strato_ed25519:/run/secrets/strato_ed25519:ro
- ../files/known_hosts:/run/secrets/known_hosts:ro
networks:
- app
- dokploy-network
volumes:
profile_pictures:
content_news:
developer_work:
seelsorge_data:
dashboard_month:
ckal_xlsx:
calendar_pdf:
scheduler_state:
networks:
app:
dokploy-network:
external: true