version: "3.8" services: galvanize: image: aitiome/galvanize:latest container_name: galvanize build: context: . dockerfile: Dockerfile # Network mode must be "host" for Wake-on-LAN broadcast packets # to reach devices on the local network network_mode: host volumes: # Persistent configuration storage - ./config:/app/config environment: # Server configuration - GALVANIZE_HOST=0.0.0.0 - GALVANIZE_PORT=8080 - GALVANIZE_WEBUI=true # Authentication - GALVANIZE_AUTH_MODE=basic # OIDC settings (uncomment to enable) # - GALVANIZE_AUTH_OIDC_ENABLED=true # - GALVANIZE_AUTH_OIDC_ISSUER=https://auth.example.com # - GALVANIZE_AUTH_OIDC_CLIENT_ID=galvanize # - OIDC_CLIENT_SECRET=${OIDC_CLIENT_SECRET} # MQTT settings (uncomment to enable) # - GALVANIZE_MQTT_ENABLED=true # - GALVANIZE_MQTT_BROKER=mqtt://mosquitto:1883 restart: unless-stopped healthcheck: test: ["CMD", "wget", "--no-verbose", "--tries=1", "--spider", "http://localhost:8080/api/v1/health"] interval: 30s timeout: 10s retries: 3 start_period: 10s # Optional: MQTT Broker # Uncomment this section if you want to use MQTT # mosquitto: # image: eclipse-mosquitto:2 # container_name: galvanize-mqtt # ports: # - "1883:1883" # - "9001:9001" # volumes: # - ./mosquitto/config:/mosquitto/config # - ./mosquitto/data:/mosquitto/data # - ./mosquitto/log:/mosquitto/log # restart: unless-stopped volumes: config: driver: local