Last active
November 28, 2023 17:37
-
-
Save gbrayut/a33577b5d2c25c28c61b0a3b0eff6ebf to your computer and use it in GitHub Desktop.
Home assistant docker compose file
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
version: '3.7' | |
services: | |
homeassistant: | |
container_name: home-assistant | |
image: homeassistant/home-assistant:stable | |
ports: | |
- "8123" | |
volumes: | |
- /data/homeassistant:/config | |
- /data/ssl:/ssl | |
- /etc/localtime:/etc/localtime:ro | |
- /run/dbus:/run/dbus:ro | |
privileged: true # required for bluetooth? | |
dns: | |
- 192.168.0.1 | |
restart: always | |
network_mode: host | |
mqtt: # https://techoverflow.net/2021/11/25/how-to-setup-standalone-mosquitto-mqtt-broker-using-docker-compose/ | |
container_name: mqtt | |
image: eclipse-mosquitto:2.0.15 # https://hub.docker.com/_/eclipse-mosquitto replaces toke/mosquitto | |
ports: | |
- "1883:1883" | |
- "9001:9001" | |
volumes: | |
- /data/mqtt/config:/mosquitto/config | |
- /data/mqtt/data:/mosquitto/data | |
- /data/mqtt/log:/mosquitto/log | |
# old settings for toke/mosquitto | |
#- /data/mqtt/config:/mqtt/config | |
#- /data/mqtt/data:/mqtt/data | |
#- /data/mqtt/log:/mqtt/log | |
dns: | |
- 192.168.0.1 | |
restart: always | |
network_mode: host | |
# https://zwave-js.github.io/zwavejs2mqtt/#/usage/setup | |
zwavejs2mqtt: | |
container_name: zwavejs2mqtt | |
image: zwavejs/zwavejs2mqtt:latest #or previous working :8.21? | |
restart: always | |
tty: true | |
stop_signal: SIGINT | |
environment: | |
- SESSION_SECRET=mysessionsecret | |
- ZWAVEJS_EXTERNAL_CONFIG=/usr/src/app/store/.config-db | |
# Uncomment if you want logs time and dates to match your timezone instead of UTC | |
# Available at https://en.wikipedia.org/wiki/List_of_tz_database_time_zones | |
- TZ=America/Denver | |
network_mode: host | |
#networks: | |
# - zwave | |
devices: | |
# Do not use /dev/ttyUSBX serial devices, as those mappings can change over time. | |
# Instead, use the /dev/serial/by-id/X serial device for your Z-Wave stick. | |
#- '/dev/ttyACM0:/dev/zwave' UZB 500 series now bricked | |
- '/dev/ttyUSB0:/dev/zwave' # new 700 series | |
volumes: | |
- /data/zwave-config:/usr/src/app/store | |
ports: | |
- '8091:8091' # port for web interface | |
- '3000:3000' # port for Z-Wave JS websocket server | |
# esphome.io for managing esp based iot devices | |
esphome: | |
container_name: esphome | |
image: ghcr.io/esphome/esphome | |
volumes: | |
- /data/homeassistant/esphome:/config | |
- /etc/localtime:/etc/localtime:ro | |
restart: always | |
privileged: true | |
network_mode: host | |
ports: | |
- '6052:6052' # esphome dashboard | |
# manage cameras using https://github.com/motioneye-project/motioneye | |
motioneye: | |
hostname: gbcamera | |
#image: ccrisan/motioneye:master-armhf is the old py2 version. edge is py3 branch | |
image: ghcr.io/motioneye-project/motioneye:edge # https://github.com/motioneye-project/motioneye/pkgs/container/motioneye | |
restart: unless-stopped | |
network_mode: "host" # Less proxying of packets and don't have to include all the 9081-90xx streaming ports below | |
volumes: | |
- "/data/motioneye/etc:/etc/motioneye" # previously saved in userfiles/etc/motioneye | |
- "/data/motioneye/var_lib:/var/lib/motioneye" # where the camera snapshots/videos are saved | |
- /etc/localtime:/etc/localtime:ro | |
ports: | |
- "8081:8081" | |
- "8765:8765" | |
#devices: | |
# - "/dev/video0:/dev/video0" # or use /dev/v4l/by-id/... | |
#healthcheck: | |
# test: ["CMD", "...todo..."] # Need to add something for checking if usb camera crashes and container should be restarted | |
# start_period: 30s | |
#environment: | |
# TZ: America/Denver |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
# save as /etc/cron.monthly/docker-update or cron.weekly to auto update all container images and restart them | |
# https://containrrr.dev/watchtower/arguments/ | |
docker run -d --rm --name watchtower -v /var/run/docker.sock:/var/run/docker.sock containrrr/watchtower --run-once | |
docker system prune --all --volumes -f |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment