services: excommunicado: build: . container_name: excommunicado-bot restart: unless-stopped env_file: - .env environment: # Set LOG_LEVEL=DEBUG for verbose troubleshooting output - LOG_LEVEL=${LOG_LEVEL:-INFO} volumes: # Named volume avoids host bind-mount ownership problems with the # non-root botuser (UID 1000). Data persists in the 'excommunicado-data' # Docker volume. To inspect it: docker run --rm -v excommunicado-data:/d alpine ls -la /d - excommunicado-data:/app/data logging: driver: "json-file" options: max-size: "10m" max-file: "3" healthcheck: test: ["CMD", "python", "-c", "import sys; sys.exit(0)"] interval: 30s timeout: 10s retries: 3 start_period: 10s volumes: excommunicado-data: