initial commit docker-compose files

This commit is contained in:
2023-02-22 00:15:59 +01:00
parent 4c9bf4499f
commit 457159dacf
4 changed files with 264 additions and 0 deletions

243
docker-compose.yml Executable file
View File

@@ -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

8
editapps.sh Executable file
View File

@@ -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

6
restart.sh Executable file
View File

@@ -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"

7
update.sh Executable file
View File

@@ -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"