From 457159dacf4d61141fc760c837f183ab95033871 Mon Sep 17 00:00:00 2001 From: sebastian Date: Wed, 22 Feb 2023 00:15:59 +0100 Subject: [PATCH] initial commit docker-compose files --- docker-compose.yml | 243 +++++++++++++++++++++++++++++++++++++++++++++ editapps.sh | 8 ++ restart.sh | 6 ++ update.sh | 7 ++ 4 files changed, 264 insertions(+) create mode 100755 docker-compose.yml create mode 100755 editapps.sh create mode 100755 restart.sh create mode 100755 update.sh diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100755 index 0000000..2c723d2 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,243 @@ +# NOTE: This files purpose is to spin-up the project for testing it in CI. +# Please do not understand it as recommendation for an production +# docker-compose setup. For that see the README. If you have additions +# to make, please add them there. +version: '3.1' +services: + homeassistant: + container_name: homeassistant + depends_on: + - influxdb + - marytts + restart: always + image: homeassistant/home-assistant:latest + devices: +# - /dev/ttyUSB0:/dev/ttyUSB0 +# this was for zha + - /dev/ttyUSB1:/dev/ttyUSB1 +# - /dev/ttyUSB2:/dev/ttyUSB2 +# - /dev/ttyACM0:/dev/ttyACM0 + volumes: + - ./data/config:/config + - /etc/localtime:/etc/localtime:ro + - ./data/shared:/shared + - ./media/:/media + - /volume3/mediathek:/mediathek +#mynas-srv +# - mediathek:/mediathek + - backup:/backup + - /docker-data/mediathekview/data/.mediathek3/history.db:/config/mediathekview.db + - /docker-data/vaultwarden/data/db.sqlite3:/config/vaultwarden.db + - /docker-data/matrix/data/homeserver.db:/config/matrix.db + - /dev/serial/by-id/:/dev/serial/by-id/ + network_mode: host +# networks: + # lan: + # ipv4_address: 192.168.1.23 + privileged: true + environment: + - PUID=0 + - PGID=1000 + - TZ=Europe/London + + homeintent: + image: "ghcr.io/jarvyj/homeintent:latest" + restart: always + container_name: homeintent + depends_on: + - homeassistant + volumes: + - "./homeintent/rhasspy:/profiles" + - "./homeintent/config:/config" + - "/etc/localtime:/etc/localtime:ro" + ports: + - "11102:11102" # For the Home Intent UI + - "12183:12183" # For communicating over MQTT/satellites + - "12101:12101" # For the Rhasspy UI (optional) + devices: + - "/dev/snd:/dev/snd" + environment: + - LANGUAGE=de + + appdaemon: + container_name: appdaemon +# image: acockburn/appdaemon:4.2.1 + image: acockburn/appdaemon:latest + #user: '99' + healthcheck: + test: "curl -sf http://localhost:8125" + interval: 60s + timeout: 10s + retries: 5 + volumes: + - /etc/localtime:/etc/localtime:ro + - ./appdaemon:/conf + # Mount directory of appdaemon apps installed by HACS + - ./data/config/appdaemon/apps:/conf/apps + #- /home/aneisch/dockerStart.sh:/usr/src/app/dockerStart.sh:ro + ports: + - "5051:5050" + - "8125:8125" + restart: always + + larynx: + container_name: larynx + image: rhasspy/larynx + restart: always + volumes: + - ./larynx/data:/data + - ./larynx/usr/share/ca-certificates:/usr/share/ca-certificates + - ./larynx/etc/ssl/certs:/etc/ssl/certs + ports: + - 5002:5002 +# - 59125:5002 + environment: + - HOME=data + + marytts: + container_name: marytts + image: synesthesiam/marytts:5.2 + restart: always + ports: + - 59125:59125 + + esphome: + container_name: esphome + image: esphome/esphome + restart: always + privileged: true + ports: + - 6052:6052 + volumes: + - ./esphome:/config:rw + #network_mode: host + environment: + - ESPHOME_DASHBOARD_USE_PING=true + + influxdb: + container_name: influxdb + environment: + - INFLUXDB_DB=192.168.1.31 + - INFLUXDB_ADMIN_USER=admin + - INFLUXDB_ADMIN_PASSWORD=Influx2022 + image: influxdb:latest + ports: + - '8086:8086' + restart: always + volumes: + - ./influxdb2:/var/lib/influxdb2 + - /etc/localtime:/etc/localtime:ro + + grafana: + container_name: grafana + depends_on: + - influxdb + - prometheus + environment: + - GF_SECURITY_ADMIN_USER=admin + - GF_SECURITY_ADMIN_PASSWORD=Grafana2020 + image: grafana/grafana:latest + restart: always + user: "0" + ports: + - '3000:3000' + volumes: + - ./grafana:/var/lib/grafana + - /etc/localtime:/etc/localtime:ro + + prometheus: + image: prom/prometheus:latest + container_name: prometheus + ports: + - 9090:9090 + volumes: + - ./prometheus:/etc/prometheus + - prometheus_data:/prometheus + command: --web.enable-lifecycle --config.file=/etc/prometheus/prometheus.yml + + homegear: + image: homegear/homegear:nightly + container_name: homegear + restart: always + volumes: + - "/etc/localtime:/etc/localtime:ro" + - "/etc/timezone:/etc/timezone:ro" +# - "./homegear/homematicbidcos.conf:/etc/homegear/families/homematicbidcos.conf" +# - "./homegear/db.sql:/var/lib/homegear/db.sql" + - "./homegear/etc:/etc/homegear:Z" + - "./homegear/lib:/var/lib/homegear:Z" + - "./homegear/log:/var/log/homegear:Z" + ports: + - 2000:2000 + - 2001:2001 + - 2002:2002 + - 2003:2003 + - 2010:2010 + - 9292:9292 + - 8080:80 + - 80:80 + - 8443:443 + - 443:443 + environment: + - TZ=Europe/Berlin + # $(id -u) und $(id -g) müssen von Hand eingetragen werden da docker-compose nicht automatisch auswertet +# - HOST_USER_GID='1001' +# - HOST_USER_ID='1001' + + homegear_sqliteweb: + image: coleifer/sqlite-web + container_name: homegear_sqliteweb + restart: always +# build: +# context: . + ports: + - 8128:8080 + volumes: + - ./homegear/lib:/data + environment: + - SQLITE_DATABASE=db.sql +# healthcheck: +# test: bash -c ">/dev/tcp/127.0.0.1/8080" + + hassio_sqliteweb: + image: coleifer/sqlite-web + container_name: hassio_sqliteweb + restart: always +# build: +# context: . + ports: + - 8124:8080 + volumes: + - ./data/config:/data + environment: + - SQLITE_DATABASE=home-assistant_v2.db +# healthcheck: +# test: bash -c ">/dev/tcp/127.0.0.1/8080" + + +volumes: + prometheus_data: {} + +# mediathek: +# driver: local +# driver_opts: +# type: nfs +# o: addr=192.168.1.17,rw +# device: ":/volume3/mediathek" + + backup: + driver: local + driver_opts: + type: nfs + o: addr=192.168.1.14,rw + device: ":/volume1/backup" + +#networks: +# lan: +# name: lan +# driver: macvlan +# driver_opts: +# parent: vmbr0 #your ethernet interface +# ipam: +# config: +# - subnet: 192.168.1.0/24 diff --git a/editapps.sh b/editapps.sh new file mode 100755 index 0000000..eb434b8 --- /dev/null +++ b/editapps.sh @@ -0,0 +1,8 @@ +#!/bin/bash +echo "Edit start..." +echo "nano /docker-data/hassio/data/config/appdaemon/apps/apps.yaml" +nano /docker-data/hassio/data/config/appdaemon/apps/apps.yaml +echo "Edit end..." +echo "" + +#./restart.sh diff --git a/restart.sh b/restart.sh new file mode 100755 index 0000000..dcd85c5 --- /dev/null +++ b/restart.sh @@ -0,0 +1,6 @@ +#!/bin/bash +start='date' +echo "Running restart..." +docker-compose --compatibility down && docker-compose --compatibility up -d +end='date' +echo -e "\nScript has reached its end after: " $((end-start)) " seconds" diff --git a/update.sh b/update.sh new file mode 100755 index 0000000..6ad858a --- /dev/null +++ b/update.sh @@ -0,0 +1,7 @@ +#!/bin/bash +start='date' +echo "Running update..." +docker-compose pull +docker-compose --compatibility down && docker-compose --compatibility up -d +end='date' +echo -e "\nScript has reached its end after: " $((end-start)) " seconds"