services: bambuddy: image: ghcr.io/maziggy/bambuddy:latest container_name: bambuddy network_mode: host # Recommended for automatic printer discovery volumes: - bambuddy_data:/app/data - bambuddy_logs:/app/logs - ${DATA_PATH}/media/projects:/external/nas environment: - PUID=${PUID:-1000} - PGID=${PGID:-1000} - TZ=America/Toronto # Your timezone - DATABASE_URL=postgresql+asyncpg://${PG_USER:-bambuddy}:${PG_PASS:?database password required}@postgres:5432/bambuddy - TRUSTED_FRAME_ORIGINS=http://homeassistant.local:8123 - BAMBUDDY_EXTERNAL_ROOTS=/external/nas - PORT=8870 restart: unless-stopped # Docker SIGKILLs after 10s by default. Bambuddy stops well inside that, # but the headroom means a slow teardown (several virtual printers on a Pi) # can still checkpoint the database instead of being killed mid-write. stop_grace_period: 30s postgres: image: postgres:16-alpine container_name: bambuddy-db restart: unless-stopped environment: POSTGRES_USER: ${PG_USER:-bambuddy} POSTGRES_PASSWORD: ${PG_PASS:?database password required} POSTGRES_DB: bambuddy volumes: - bambuddy_pgdata:/var/lib/postgresql/data ports: - "5432:5432" volumes: bambuddy_data: bambuddy_logs: bambuddy_pgdata: