version: '3'
services:
homeassistant:
container_name: homeassistant
image: "ghcr.io/home-assistant/home-assistant:latest"
volumes:
- /home/jarek/Docker/homeassistant/home_assistant:/config
- /etc/localtime:/etc/localtime:ro
restart: unless-stopped
privileged: true
network_mode: host
esphome:
container_name: esphome
image: esphome/esphome
volumes:
- /home/jarek/Docker/homeassistant/esphome:/config
- /etc/localtime:/etc/localtime:ro
restart: always
privileged: true
network_mode: host
mosquitto:
container_name: mqtt
image: eclipse-mosquitto
volumes:
- /home/jarek/Docker/homeassistant/mosquitto/config:/mosquitto/config
- /home/jarek/Docker/homeassistant/mosquitto/data:/mosquitto/data
- /home/jarek/Docker/homeassistant/mosquitto/log:/mosquitto/log
- /home/jarek/Docker/homeassistant/mosquitto/config/mosquitto.conf:/mosquitto.conf
restart: always
network_mode: host
glances:
container_name: glances
image: joweisberg/glances:latest
restart: unless-stopped
pid: host
ports:
- 61208:61208
environment:
- TZ=Europe/Warsaw
- GLANCES_OPT=--webserver
volumes:
- /var/run/docker.sock:/var/run/docker.sock:ro
- /var/docker/glances:/glances/conf
zerotier:
image: zyclonite/zerotier
container_name: zerotier-one
devices:
- /dev/net/tun
network_mode: host
volumes:
- '/var/lib/zerotier-one:/var/lib/zerotier-one'
cap_add:
- NET_ADMIN
- SYS_ADMIN
mariadb:
image: mariadb
container_name: mariadb
restart: always
environment:
MYSQL_DATABASE: homeassistant
MYSQL_USER: mariadb
MYSQL_PASSWORD: mariadb
MYSQL_ROOT_PASSWORD: mariadb#
ports:
- 3306:3306
volumes:
- /home/jarek/Docker/homeassistant/mariadb/data:/var/lib/mysql
- /home/jarek/Docker/homeassistant/mariadb/log:/var/log/mysql
- /home/jarek/Docker/homeassistant/mariadb/conf/my.conf:/etc/mysql/my.conf
pihole:
container_name: pihole
image: pihole/pihole:latest
# For DHCP it is recommended to remove these ports and instead add: network_mode: "host"
ports:
- "53:53/tcp"
- "53:53/udp"
- "80:80/tcp"
environment:
TZ: 'Europe/Warsaw'
# WEBPASSWORD: 'set a secure password here or it will be random'
# Volumes store your data between container upgrades
volumes:
- './etc-pihole:/etc/pihole'
- './etc-dnsmasq.d:/etc/dnsmasq.d'
restart: unless-stopped
influxdb:
container_name: influxdb
image: influxdb:1.8
volumes:
- '/home/jarek/Docker/homeassistant/influxdb:/var/lib/influxdb'
ports:
- "8086:8086"
- "8083:8083"
restart: always
grafana:
container_name: grafana
image: grafana/grafana-oss
volumes:
- '/home/jarek/Docker/homeassistant/grafana:/var/lib/grafana'
ports:
- "3000:3000"
user: "1000"
restart: unless-stopped
go2rtc:
image: alexxit/go2rtc
network_mode: host # important for WebRTC, HomeKit, UDP cameras
privileged: true # only for FFmpeg hardware transcoding
restart: unless-stopped # autorestart on fail or config change from WebUI
environment:
- TZ=Europe/Warsaw # timezone in logs
volumes:
- "~Docker/homeassistant/go2rtc:/config" # folder for go2rtc.yaml file (edit from WebUI)
heimdall:
image: lscr.io/linuxserver/heimdall:latest
container_name: heimdall
environment:
- PUID=1000
- PGID=1000
- TZ=Europe/Warsaw
volumes:
- /home/jarek/Docker/heimdall:/config
ports:
- 8080:80
- 8443:443
restart: unless-stopped
frigate:
container_name: frigate
image: blakeblackshear/frigate:stable
restart: always
volumes:
- /etc/localtime:/etc/localtime
- /home/jarek/Docker/homeassistant/frigate:/config:rw
- /home/jarek/Docker/homeassistant/frigate/clips:/media/frigate/clips:rw
- /home/jarek/Docker/homeassistant/frigate/recordings:/media/frigate/recordings:rw
ports:
- 5000:5000
- 1935:1935