version: '3.8' # Home Assistant - Smart Home Automation Platform # Port: 8123 (Home Assistant default) # GPU: No # Storage: SSD (config and database) services: home-assistant: image: ghcr.io/home-assistant/home-assistant:stable container_name: home-assistant restart: unless-stopped ports: - "8123:8123" volumes: # Config on SSD (includes database, automations, scripts) - /home/jpmschweitzer/docker-data/home-assistant/config:/config environment: - TZ=Europe/Amsterdam # Privileged mode for USB device access (Z-Wave, Zigbee dongles) privileged: true networks: - docker-dataplane healthcheck: test: ["CMD-SHELL", "curl -fSs http://localhost:8123/manifest.json || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 120s deploy: resources: limits: memory: 1G networks: docker-dataplane: external: true name: docker-dataplane # Setup Instructions: # 1. Create config directory: # mkdir -p /home/jpmschweitzer/docker-data/home-assistant/config # # 2. Deploy this stack via Portainer or: # docker compose -f home-assistant.yml up -d # # 3. Wait for initial setup (1-2 minutes) # # 4. Access web interface: http://localhost:8123 # or external: https://housekeeping.schweitz.net # # 5. Complete the onboarding wizard: # - Create admin account # - Set home location # - Configure integrations # # USB Device Access: # Privileged mode is enabled for Z-Wave, Zigbee, or other USB devices. # For specific device mapping instead, replace privileged: true with: # devices: # - /dev/ttyUSB0:/dev/ttyUSB0 # - /dev/ttyACM0:/dev/ttyACM0 # # NPM Configuration: # Domain: housekeeping.schweitz.net # Scheme: http # Forward Hostname/IP: home-assistant # Forward Port: 8123 # Websockets Support: ENABLED (required for HA) # SSL: Let's Encrypt # # After NPM setup, add to configuration.yaml: # # http: # use_x_forwarded_for: true # trusted_proxies: # - 172.16.0.0/12 # - 192.168.0.0/16 # - 10.0.0.0/8