- deploy/docker-compose.yml: Produktions-Stack (Backend, Postgres, Mosquitto) Backend bindet nur auf 127.0.0.1:8080 (HTTPS via Reverse Proxy) - deploy/.env.example: Vorlage für Produktions-Umgebungsvariablen - deploy/mosquitto/config/mosquitto.conf: Mosquitto mit Passwort-Auth - ansible/group_vars: morz_server_base_url auf https://dockerbox.morz.de - ansible/inventory.yml: debi entfernt, dev-Hosts info11/info12 ergänzt - .gitignore: !.env.example als Ausnahme ergänzt Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
70 lines
1.9 KiB
YAML
70 lines
1.9 KiB
YAML
services:
|
|
backend:
|
|
image: git.az-it.net/az/morz-infoboard/backend:latest
|
|
restart: unless-stopped
|
|
ports:
|
|
- "127.0.0.1:8080:8080"
|
|
environment:
|
|
MORZ_INFOBOARD_HTTP_ADDR: ":8080"
|
|
MORZ_INFOBOARD_DATABASE_URL: "postgres://morz_infoboard:${MORZ_DB_PASSWORD}@db:5432/morz_infoboard?sslmode=disable"
|
|
MORZ_INFOBOARD_UPLOAD_DIR: /app/uploads
|
|
MORZ_INFOBOARD_STATUS_STORE_PATH: /app/data/status
|
|
MORZ_INFOBOARD_MQTT_BROKER: "${MORZ_MQTT_BROKER}"
|
|
MORZ_INFOBOARD_MQTT_USERNAME: "${MORZ_MQTT_USERNAME}"
|
|
MORZ_INFOBOARD_MQTT_PASSWORD: "${MORZ_MQTT_PASSWORD}"
|
|
MORZ_INFOBOARD_ADMIN_PASSWORD: "${MORZ_ADMIN_PASSWORD}"
|
|
MORZ_INFOBOARD_DEFAULT_TENANT: "${MORZ_DEFAULT_TENANT:-morz}"
|
|
MORZ_INFOBOARD_DEV_MODE: "false"
|
|
TZ: "Europe/Berlin"
|
|
volumes:
|
|
- ./uploads:/app/uploads
|
|
- ./data:/app/data
|
|
depends_on:
|
|
db:
|
|
condition: service_healthy
|
|
networks:
|
|
- internal
|
|
- proxy
|
|
|
|
db:
|
|
image: postgres:17-alpine
|
|
restart: unless-stopped
|
|
environment:
|
|
POSTGRES_USER: morz_infoboard
|
|
POSTGRES_PASSWORD: "${MORZ_DB_PASSWORD}"
|
|
POSTGRES_DB: morz_infoboard
|
|
volumes:
|
|
- db_data:/var/lib/postgresql/data
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "pg_isready -U morz_infoboard"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 5
|
|
networks:
|
|
- internal
|
|
|
|
mqtt:
|
|
image: eclipse-mosquitto:2
|
|
restart: unless-stopped
|
|
ports:
|
|
- "1883:1883"
|
|
volumes:
|
|
- ./mosquitto/config:/mosquitto/config:ro
|
|
- mosquitto_data:/mosquitto/data
|
|
- mosquitto_log:/mosquitto/log
|
|
networks:
|
|
- internal
|
|
|
|
volumes:
|
|
db_data:
|
|
mosquitto_data:
|
|
mosquitto_log:
|
|
|
|
networks:
|
|
internal:
|
|
proxy:
|
|
# Gemeinsames Netz mit dem Reverse Proxy (z. B. Traefik/Nginx Proxy Manager).
|
|
# Falls der Proxy ein eigenes externes Netz verwaltet, hier name: und external: true setzen.
|
|
# Beispiel:
|
|
# name: proxy
|
|
# external: true
|