Files
hyprmonitors/homeassistant/docker-compose.example.yml
uttarayan21 fdd7065e78
Some checks failed
build / checks-matrix (push) Failing after 19m7s
build / checks-build (push) Has been skipped
build / codecov (push) Failing after 19m7s
docs / docs (push) Failing after 28m31s
feat: Added homeassistant plugin
2025-08-15 18:19:01 +05:30

81 lines
2.0 KiB
YAML

version: '3.8'
services:
homeassistant:
container_name: homeassistant
image: ghcr.io/home-assistant/home-assistant:stable
volumes:
# Main Home Assistant configuration
- ./homeassistant-config:/config
# Mount the Hyprmonitors integration directly
- ./custom_components/hyprmonitors:/config/custom_components/hyprmonitors:ro
# Optional: Mount examples for reference
- ./examples.yaml:/config/hyprmonitors-examples.yaml:ro
# System access (needed for some integrations)
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host
environment:
# Set timezone
- TZ=America/New_York # Change to your timezone
# Health check
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:8123/api/"]
interval: 30s
timeout: 10s
retries: 3
start_period: 30s
# Optional: Include the Hyprmonitors server in the same compose file
hyprmonitors:
container_name: hyprmonitors-server
build:
context: ../
dockerfile: Dockerfile
ports:
- "3000:3000"
restart: unless-stopped
environment:
- HYPRMONITORS_HOST=0.0.0.0
- HYPRMONITORS_PORT=3000
- RUST_LOG=info
# Mount Hyprland socket (adjust path as needed)
volumes:
- /tmp/hypr:/tmp/hypr:ro
- $XDG_RUNTIME_DIR/hypr:/run/user/1000/hypr:ro
# Network access to Hyprland
network_mode: host
# Ensure Hyprland environment is available
environment:
- XDG_RUNTIME_DIR=/run/user/1000
- HYPRLAND_INSTANCE_SIGNATURE=${HYPRLAND_INSTANCE_SIGNATURE}
healthcheck:
test: ["CMD", "curl", "-f", "http://localhost:3000/health"]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
# Optional: Create a custom network if not using host networking
networks:
homelab:
driver: bridge
ipam:
config:
- subnet: 172.20.0.0/16
volumes:
homeassistant-config:
driver: local