changed over to hassio - still need to manually make /export/docker/container/hassio/scripts/ and copy script in from hassio-composer. After that it worked, but had lots of troubles with broken dns and pulseaudio configs needing to be manually hacked over into the relevant hassio/*/dirs... worked off of the hassio-composer installing cleanly on pug, and the error logs on mara. Finally, also have basic monitoring in place (prometheus/grafana/cadvisor/node-exporter. Have not explored alertmanager or actual soc-like probes (http, synthetic, etc.)

This commit is contained in:
2020-06-21 01:11:03 +10:00
parent 20a6a8a655
commit d55ec62e74

View File

@@ -288,23 +288,23 @@ services:
volumes:
- /var/run/docker.sock:/var/run/docker.sock
hass:
container_name: hass
image: homeassistant/home-assistant:stable
volumes:
- /export/docker/container/hass:/config
hassio:
image: homeassistant/amd64-hassio-supervisor
container_name: hassio_supervisor
privileged: true
entrypoint: ["/bin/bash", "-c", "/scripts/start_hassio.sh"]
security_opt:
- seccomp:unconfined
environment:
- TZ=Australia/Melbourne
network_mode: host
restart: always
labels:
- "traefik.enable=true"
- "traefik.http.routers.hass.rule=PathPrefix(`/hass/`)"
- "traefik.http.services.hass.loadbalancer.server.port=8123"
- "traefik.http.middlewares.stripprefix-hass.stripprefix.prefixes=/hass"
- "traefik.http.routers.hass.middlewares=stripprefix-hass@docker"
- "traefik.http.routers.hass.entrypoints=web"
- HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassistant
- SUPERVISOR_SHARE=/export/docker/container/hassio
- SUPERVISOR_NAME=hassio_supervisor
- DBUS_SYSTEM_BUS_ADDRESS=unix:path=/var/run/dbus/system_bus_socket
volumes:
- /export/docker/container/hassio/data:/data
- /export/docker/container/hassio/scripts:/scripts
- /var/run/docker.sock:/var/run/docker.sock
- /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket
sabnzbd:
image: linuxserver/sabnzbd
@@ -323,6 +323,81 @@ services:
- "traefik.http.routers.sabnzbd.rule=PathPrefix(`/sabnzbd/`)"
- "traefik.http.routers.sabnzbd.entrypoints=web"
# Monitoring
prometheus:
image: prom/prometheus:latest
container_name: prometheus
volumes:
- /export/docker/container/prometheus/:/etc/prometheus/
- /export/docker/container/prometheus/data:/prometheus
command:
- '--config.file=/etc/prometheus/prometheus.yml'
- '--storage.tsdb.path=/prometheus'
- '--web.console.libraries=/usr/share/prometheus/console_libraries'
- '--web.console.templates=/usr/share/prometheus/consoles'
- '--web.enable-lifecycle'
ports:
- 19090:9090
links:
- cadvisor:cadvisor
- alertmanager:alertmanager
depends_on:
- cadvisor
restart: always
node-exporter:
image: prom/node-exporter:latest
container_name: node-exporter
volumes:
- /proc:/host/proc:ro
- /sys:/host/sys:ro
- /:/rootfs:ro
command:
- '--path.procfs=/host/proc'
- '--path.sysfs=/host/sys'
- --collector.filesystem.ignored-mount-points
- "^/(sys|proc|dev|host|etc|rootfs/var/lib/docker/containers|rootfs/var/lib/docker/overlay2|rootfs/run/docker/netns|rootfs/var/lib/docker/aufs)($$|/)"
ports:
- 19100:9100
restart: always
alertmanager:
image: prom/alertmanager:latest
container_name: alertmanager
ports:
- 19093:9093
volumes:
- /export/docker/container/alertmanager/:/etc/alertmanager/
restart: always
command:
- '-config.file=/etc/alertmanager/config.yml'
- '-storage.path=/alertmanager'
cadvisor:
image: google/cadvisor:latest
volumes:
- /:/rootfs:ro
- /var/run:/var/run:rw
- /sys:/sys:ro
- /var/lib/docker/:/var/lib/docker:ro
ports:
- 18080:8080
restart: always
grafana:
image: grafana/grafana:latest
depends_on:
- prometheus
ports:
- 3000:3000
volumes:
- /export/docker/container/grafana/data:/var/lib/grafana
- /export/docker/container/grafana/dashboards:/var/lib/grafana/dashboards
- /export/docker/container/grafana/grafana/provisioning:/etc/grafana/provisioning
env_file:
- /export/docker/container/grafana/config.monitoring
# override the default network to use the "user-generated" plex-net
# weirdy, ONLY, user-generated networks allow DNS service discovery
# (e.g. comms between containers on the 'name', e.g. nzbget resolves to the