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:
@@ -288,23 +288,23 @@ services:
|
|||||||
volumes:
|
volumes:
|
||||||
- /var/run/docker.sock:/var/run/docker.sock
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
|
|
||||||
hass:
|
hassio:
|
||||||
container_name: hass
|
image: homeassistant/amd64-hassio-supervisor
|
||||||
image: homeassistant/home-assistant:stable
|
container_name: hassio_supervisor
|
||||||
volumes:
|
privileged: true
|
||||||
- /export/docker/container/hass:/config
|
entrypoint: ["/bin/bash", "-c", "/scripts/start_hassio.sh"]
|
||||||
|
security_opt:
|
||||||
|
- seccomp:unconfined
|
||||||
environment:
|
environment:
|
||||||
- TZ=Australia/Melbourne
|
- HOMEASSISTANT_REPOSITORY=homeassistant/qemux86-64-homeassistant
|
||||||
network_mode: host
|
- SUPERVISOR_SHARE=/export/docker/container/hassio
|
||||||
restart: always
|
- SUPERVISOR_NAME=hassio_supervisor
|
||||||
labels:
|
- DBUS_SYSTEM_BUS_ADDRESS=unix:path=/var/run/dbus/system_bus_socket
|
||||||
- "traefik.enable=true"
|
volumes:
|
||||||
- "traefik.http.routers.hass.rule=PathPrefix(`/hass/`)"
|
- /export/docker/container/hassio/data:/data
|
||||||
- "traefik.http.services.hass.loadbalancer.server.port=8123"
|
- /export/docker/container/hassio/scripts:/scripts
|
||||||
- "traefik.http.middlewares.stripprefix-hass.stripprefix.prefixes=/hass"
|
- /var/run/docker.sock:/var/run/docker.sock
|
||||||
- "traefik.http.routers.hass.middlewares=stripprefix-hass@docker"
|
- /var/run/dbus/system_bus_socket:/var/run/dbus/system_bus_socket
|
||||||
- "traefik.http.routers.hass.entrypoints=web"
|
|
||||||
|
|
||||||
|
|
||||||
sabnzbd:
|
sabnzbd:
|
||||||
image: linuxserver/sabnzbd
|
image: linuxserver/sabnzbd
|
||||||
@@ -323,6 +323,81 @@ services:
|
|||||||
- "traefik.http.routers.sabnzbd.rule=PathPrefix(`/sabnzbd/`)"
|
- "traefik.http.routers.sabnzbd.rule=PathPrefix(`/sabnzbd/`)"
|
||||||
- "traefik.http.routers.sabnzbd.entrypoints=web"
|
- "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
|
# override the default network to use the "user-generated" plex-net
|
||||||
# weirdy, ONLY, user-generated networks allow DNS service discovery
|
# weirdy, ONLY, user-generated networks allow DNS service discovery
|
||||||
# (e.g. comms between containers on the 'name', e.g. nzbget resolves to the
|
# (e.g. comms between containers on the 'name', e.g. nzbget resolves to the
|
||||||
|
|||||||
Reference in New Issue
Block a user