version: "3.9" services: db: image: mariadb:latest restart: unless-stopped ports: - ${INTERNAL_IP}:3306:3306 env_file: - .env - .env.production volumes: - /home/willem/mariadb:/var/lib/mysql homeassistant: image: "ghcr.io/home-assistant/home-assistant:stable" ports: - ${INTERNAL_IP}:8123:8123 volumes: - /home/willem/homeassistant:/config - /home/willem/repos/homeAutomation/configurations/home-assistant/configuration.production.yaml:/config/configuration.yaml restart: unless-stopped env_file: - .env - .env.production syncthing: image: lscr.io/linuxserver/syncthing:latest container_name: syncthing environment: - PUID=1000 - PGID=1000 - TZ=Europe/London volumes: - /home/willem/syncthing:/data1 ports: - ${INTERNAL_IP}:8384:8384 - ${INTERNAL_IP}:22000:22000/tcp - ${INTERNAL_IP}:22000:22000/udp - ${INTERNAL_IP}:21027:21027/udp restart: unless-stopped node-exporter: image: prom/node-exporter:latest container_name: node-exporter restart: unless-stopped volumes: - /proc:/host/proc:ro - /sys:/host/sys:ro - /:/rootfs:ro command: - '--path.procfs=/host/proc' - '--path.rootfs=/rootfs' - '--path.sysfs=/host/sys' - '--collector.filesystem.mount-points-exclude=^/(sys|proc|dev|host|etc)($$|/)' ports: - ${INTERNAL_IP}:9100:9100 prometheus: image: prom/prometheus:latest container_name: prometheus restart: unless-stopped volumes: - /home/willem/repos/homeAutomation/configurations/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml - /home/willem/prometheus:/prometheus command: - '--config.file=/etc/prometheus/prometheus.yml' - '--storage.tsdb.path=/prometheus' - '--web.console.libraries=/etc/prometheus/console_libraries' - '--web.console.templates=/etc/prometheus/consoles' - '--web.enable-lifecycle' ports: - ${INTERNAL_IP}:9090:9090 grafana: image: grafana/grafana:latest ports: - ${INTERNAL_IP}:3000:3000 volumes: - /home/willem/grafana:/var/lib/grafana env_file: - .env - .env.production