services: pulse: deploy: resources: limits: memory: 1G image: rcourtman/pulse:latest container_name: pulse ports: - 9655:7655 volumes: - ./data:/data environment: - REDIS_HOST=192.168.178.183 - REDIS_PORT=9379 # NOTE: Env vars override UI settings. Remove env var to allow UI configuration. # Network discovery (usually not needed - auto-scans common networks) - DISCOVERY_SUBNET=192.168.178.0/24 # Only for non-standard networks # Ports # - PORT=7655 # Backend port (default: 7655) # - FRONTEND_PORT=7655 # Frontend port (default: 7655) # Security (all optional - runs open by default) - PULSE_AUTH_USER=sven # Username for web UI login - PULSE_AUTH_PASS=3IQyC3*202*a634DK7x^ # Plain text or bcrypt hash (auto-hashed if plain) - API_TOKEN=tMeE9lQShpMQbrmBOL44K5E8Bf66LjUs # - ALLOW_UNPROTECTED_EXPORT=false # Allow export without auth (default: false) # Security: Plain text credentials are automatically hashed # You can provide either: # 1. Plain text (auto-hashed): PULSE_AUTH_PASS=mypassword # 2. Pre-hashed (advanced): PULSE_AUTH_PASS='$$2a$$12$$...' # Note: Escape $ as $$ in docker-compose.yml for pre-hashed values # Performance # - CONNECTION_TIMEOUT=10 # Connection timeout in seconds (default: 10) # CORS & logging # - ALLOWED_ORIGINS=https://app.example.com # CORS origins (default: none, same-origin only) - LOG_LEVEL=warn # Log level: debug/info/warn/error (default: info) restart: unless-stopped volumes: pulse_data: null networks: {}