71 lines
1.9 KiB
YAML
71 lines
1.9 KiB
YAML
version: '3.8'
|
|
|
|
services:
|
|
backend:
|
|
build:
|
|
context: ./backend
|
|
dockerfile: Dockerfile
|
|
volumes:
|
|
- ./backend/app:/app/app
|
|
- ./data:/app/data
|
|
environment:
|
|
- DATABASE_URL=sqlite:///./data/drugs.db
|
|
- PUID=${PUID:-1000}
|
|
- PGID=${PGID:-1000}
|
|
- MQTT_BROKER_HOST=${MQTT_BROKER_HOST:-mosquitto}
|
|
- MQTT_BROKER_PORT=${MQTT_BROKER_PORT:-1883}
|
|
- MQTT_USERNAME=${MQTT_USERNAME:-}
|
|
- MQTT_PASSWORD=${MQTT_PASSWORD:-}
|
|
- MQTT_LABEL_TOPIC=${MQTT_LABEL_TOPIC:-vet/labels/print}
|
|
- MQTT_STATUS_TOPIC=${MQTT_STATUS_TOPIC:-vet/labels/status}
|
|
- LABEL_TEMPLATE_ID=${LABEL_TEMPLATE_ID:-vet_label}
|
|
- NOTES_TEMPLATE_ID=${NOTES_TEMPLATE_ID:-notes_1}
|
|
- LABEL_SIZE=${LABEL_SIZE:-29x90}
|
|
- LABEL_TEST=${LABEL_TEST:-false}
|
|
|
|
backup:
|
|
image: python:3.11-slim
|
|
user: "${PUID:-1000}:${PGID:-1000}"
|
|
volumes:
|
|
- ./data:/data
|
|
- ./scripts/backup_sqlite.py:/usr/local/bin/backup_sqlite.py:ro
|
|
environment:
|
|
- SQLITE_DB_PATH=/data/drugs.db
|
|
- BACKUP_DIR=/data/backups
|
|
- BACKUP_INTERVAL_SECONDS=${BACKUP_INTERVAL_SECONDS:-3600}
|
|
- BACKUP_RETENTION_DAYS=${BACKUP_RETENTION_DAYS:-7}
|
|
command: ["python", "/usr/local/bin/backup_sqlite.py"]
|
|
restart: unless-stopped
|
|
|
|
mosquitto:
|
|
image: eclipse-mosquitto:latest
|
|
volumes:
|
|
- ./mosquitto/config/mosquitto.conf:/mosquitto/config/mosquitto.conf:ro
|
|
- ./mosquitto/config/pwfile:/mosquitto/config/pwfile:ro
|
|
- mosquitto_data:/mosquitto/data
|
|
- mosquitto_logs:/mosquitto/log
|
|
environment:
|
|
- PUID=${PUID:-1000}
|
|
- PGID=${PGID:-1000}
|
|
|
|
frontend:
|
|
image: nginx:alpine
|
|
volumes:
|
|
- ./frontend:/usr/share/nginx/html:ro
|
|
- ./nginx.conf:/etc/nginx/conf.d/default.conf:ro
|
|
depends_on:
|
|
- backend
|
|
- mosquitto
|
|
networks:
|
|
- default
|
|
- webapps
|
|
|
|
volumes:
|
|
mosquitto_data:
|
|
mosquitto_logs:
|
|
|
|
networks:
|
|
default:
|
|
webapps:
|
|
external: true
|