154 lines
4.7 KiB
YAML
154 lines
4.7 KiB
YAML
# LOCAL DEVELOPMENT ONLY
|
|
|
|
name: intranet-local
|
|
|
|
services:
|
|
web:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
restart: unless-stopped
|
|
ports:
|
|
- "127.0.0.1:8080:80"
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
INTRANET_FQDN: "${INTRANET_FQDN:-localhost:8080}"
|
|
DB_HOST: db
|
|
DB_PORT: "5432"
|
|
DB_NAME: "${DB_NAME:-intranet}"
|
|
DB_USER: "${DB_USER:-intranet}"
|
|
DB_PASSWORD: "${DB_PASSWORD:-local-dev-password}"
|
|
SMTP_HOST: "${SMTP_HOST:-}"
|
|
SMTP_PORT: "${SMTP_PORT:-}"
|
|
SMTP_USER: "${SMTP_USER:-}"
|
|
SMTP_PASSWORD: "${SMTP_PASSWORD:-}"
|
|
ADMIN_EMAIL: "${ADMIN_EMAIL:-}"
|
|
SMS_GATEWAY_URL: "${SMS_GATEWAY_URL:-}"
|
|
HA_BASE_URL: "${HA_BASE_URL:-}"
|
|
HA_TOKEN: "${HA_TOKEN:-}"
|
|
OPENWEATHER_API_KEY: "${OPENWEATHER_API_KEY:-}"
|
|
CKAL_XLSX_DIR: /data/ckal-xlsx
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
command: >
|
|
sh -c "printf '%s\n' 'session.cookie_secure = 0'
|
|
> /usr/local/etc/php/conf.d/zz-local.ini
|
|
&& exec apache2-foreground"
|
|
volumes:
|
|
- ./web:/var/www/html
|
|
- 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
|
|
|
|
scheduler:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
restart: unless-stopped
|
|
init: true
|
|
user: "33:33"
|
|
command:
|
|
- /bin/sh
|
|
- -ec
|
|
- |
|
|
if [ -z "$${CKAL_USERNAME}" ] || [ -z "$${CKAL_PASSWORD}" ] || [ -z "$${CKAL_CALENDAR_URL}" ]; then
|
|
echo "Scheduler wartet: CKAL_USERNAME, CKAL_PASSWORD und CKAL_CALENDAR_URL sind nicht gesetzt."
|
|
exec sleep infinity
|
|
fi
|
|
exec /opt/intranet/docker/scheduler.py
|
|
shm_size: "512m"
|
|
healthcheck:
|
|
disable: true
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
HOME: /tmp/intranet-worker
|
|
XDG_CACHE_HOME: /tmp/intranet-worker-cache
|
|
PLAYWRIGHT_BROWSERS_PATH: /ms-playwright
|
|
INTRANET_FQDN: "${INTRANET_FQDN:-localhost:8080}"
|
|
DB_HOST: db
|
|
DB_PORT: "5432"
|
|
DB_NAME: "${DB_NAME:-intranet}"
|
|
DB_USER: "${DB_USER:-intranet}"
|
|
DB_PASSWORD: "${DB_PASSWORD:-local-dev-password}"
|
|
SMTP_HOST: "${SMTP_HOST:-}"
|
|
SMTP_PORT: "${SMTP_PORT:-}"
|
|
SMTP_USER: "${SMTP_USER:-}"
|
|
SMTP_PASSWORD: "${SMTP_PASSWORD:-}"
|
|
ADMIN_EMAIL: "${ADMIN_EMAIL:-}"
|
|
CKAL_USERNAME: "${CKAL_USERNAME:-}"
|
|
CKAL_PASSWORD: "${CKAL_PASSWORD:-}"
|
|
CKAL_CALENDAR_URL: "${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:-}"
|
|
STRATO_SSH_PORT: "${STRATO_SSH_PORT:-}"
|
|
STRATO_SSH_USER: "${STRATO_SSH_USER:-}"
|
|
STRATO_REMOTE_PATH: "${STRATO_REMOTE_PATH:-}"
|
|
STRATO_SSH_KEY_FILE: /run/secrets/strato_ed25519
|
|
STRATO_KNOWN_HOSTS_FILE: /run/secrets/known_hosts
|
|
STRATO_SYNC_ENABLED: "${STRATO_SYNC_ENABLED:-false}"
|
|
BRANDSCHUTZ_MAIL_ENABLED: "${BRANDSCHUTZ_MAIL_ENABLED:-false}"
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
volumes:
|
|
- dashboard_month:/var/www/html/intranet_repo/projects/dashboard/month
|
|
- ckal_xlsx:/data/ckal-xlsx
|
|
- calendar_pdf:/data/pdf
|
|
- scheduler_state:/data/state
|
|
secrets:
|
|
- source: strato_ed25519
|
|
target: strato_ed25519
|
|
- source: strato_known_hosts
|
|
target: known_hosts
|
|
networks:
|
|
- app
|
|
|
|
db:
|
|
image: pgvector/pgvector:pg18
|
|
restart: unless-stopped
|
|
ports:
|
|
- "127.0.0.1:5432:5432"
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
POSTGRES_DB: "${DB_NAME:-intranet}"
|
|
POSTGRES_USER: "${DB_USER:-intranet}"
|
|
POSTGRES_PASSWORD: "${DB_PASSWORD:-local-dev-password}"
|
|
volumes:
|
|
- postgres_data:/var/lib/postgresql
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U \"$${POSTGRES_USER}\" -d \"$${POSTGRES_DB}\""]
|
|
interval: 5s
|
|
timeout: 5s
|
|
retries: 12
|
|
networks:
|
|
- app
|
|
|
|
volumes:
|
|
postgres_data:
|
|
profile_pictures:
|
|
content_news:
|
|
developer_work:
|
|
seelsorge_data:
|
|
dashboard_month:
|
|
ckal_xlsx:
|
|
calendar_pdf:
|
|
scheduler_state:
|
|
|
|
networks:
|
|
app:
|
|
|
|
secrets:
|
|
strato_ed25519:
|
|
environment: STRATO_SSH_PRIVATE_KEY
|
|
strato_known_hosts:
|
|
environment: STRATO_KNOWN_HOSTS
|