260 lines
No EOL
6.5 KiB
YAML
260 lines
No EOL
6.5 KiB
YAML
networks:
|
|
proxy_network:
|
|
external: true
|
|
|
|
services:
|
|
|
|
|
|
teslamate:
|
|
image: teslamate/teslamate:latest
|
|
container_name: teslamate
|
|
restart: always
|
|
depends_on:
|
|
- teslamate_database
|
|
environment:
|
|
- DATABASE_USER=${TM_DB_USER}
|
|
- DATABASE_PASS=${TM_DB_PASS}
|
|
- DATABASE_NAME=${TM_DB_NAME}
|
|
- DATABASE_HOST=teslamate_database
|
|
- MQTT_HOST=mosquitto
|
|
- VIRTUAL_HOST=${FQDN_TM}
|
|
- CHECK_ORIGIN=true
|
|
- TZ=${TM_TZ}
|
|
- ENCRYPTION_KEY=${ENCRYPTION_KEY}
|
|
volumes:
|
|
- /app-config/teslamate_config:/opt/app/import
|
|
cap_drop:
|
|
- all
|
|
expose:
|
|
- "4000"
|
|
networks:
|
|
- proxy_network
|
|
|
|
|
|
|
|
# Database for TeslaMate
|
|
teslamate_database:
|
|
image: postgres:17
|
|
container_name: teslamate_database
|
|
restart: always
|
|
environment:
|
|
- POSTGRES_USER=${TM_DB_USER}
|
|
- POSTGRES_PASSWORD=${TM_DB_PASS}
|
|
- POSTGRES_DB=${TM_DB_NAME}
|
|
volumes:
|
|
- /app-config/teslamate_database:/var/lib/postgresql/data
|
|
networks:
|
|
- proxy_network
|
|
|
|
|
|
# Grafana for TeslaMate
|
|
grafana:
|
|
image: teslamate/grafana:latest
|
|
container_name: grafana
|
|
restart: always
|
|
environment:
|
|
- DATABASE_USER=${TM_DB_USER}
|
|
- DATABASE_PASS=${TM_DB_PASS}
|
|
- DATABASE_NAME=${TM_DB_NAME}
|
|
- DATABASE_HOST=teslamate_database
|
|
- GRAFANA_PASSWD=${GRAFANA_PW}
|
|
- GF_SECURITY_ADMIN_USER=${GRAFANA_USER}
|
|
- GF_SECURITY_ADMIN_PASSWORD=${GRAFANA_PW}
|
|
- GF_AUTH_ANONYMOUS_ENABLED=false
|
|
- GF_SERVER_DOMAIN=${FQDN_TM}
|
|
- GF_SERVER_ROOT_URL=%(protocol)s://grafana.sascha-lutz.de
|
|
- GF_SERVER_SERVE_FROM_SUB_PATH=true
|
|
volumes:
|
|
- /app-config/grafana_data:/var/lib/grafana
|
|
expose:
|
|
- "3000"
|
|
networks:
|
|
- proxy_network
|
|
|
|
|
|
# Mosquitto MQTT Broker
|
|
mosquitto:
|
|
image: eclipse-mosquitto:2
|
|
container_name: mosquitto
|
|
command: mosquitto -c /mosquitto-no-auth.conf
|
|
restart: always
|
|
volumes:
|
|
- /app-config/mosquitto_config:/mosquitto/config
|
|
- /app-config/mosquitto_data:/mosquitto/data
|
|
networks:
|
|
- proxy_network
|
|
|
|
|
|
# Prometheus Monitoring
|
|
prometheus:
|
|
image: prom/prometheus
|
|
container_name: prometheus
|
|
restart: always
|
|
volumes:
|
|
- /app-config/prometheus_config:/config/
|
|
- /app-config/prometheus_data:/prometheus
|
|
command:
|
|
- '--config.file=/config/prometheus.yml'
|
|
- '--storage.tsdb.path=/prometheus'
|
|
- '--storage.tsdb.retention.time=5y'
|
|
- '--web.console.libraries=/etc/prometheus/console_libraries'
|
|
- '--web.console.templates=/etc/prometheus/consoles'
|
|
- '--web.enable-lifecycle'
|
|
expose:
|
|
- 9090
|
|
networks:
|
|
- proxy_network
|
|
|
|
snmp-exporter:
|
|
image: quay.io/prometheus/snmp-exporter
|
|
container_name: snmp-exporter
|
|
expose:
|
|
- 9116
|
|
- 116/udp
|
|
volumes:
|
|
- /app-config/snmp-exporter:/etc/snmp-exporter/
|
|
restart: always
|
|
command: --config.file=/etc/snmp-exporter/snmp.yml
|
|
networks:
|
|
- proxy_network
|
|
|
|
# InfluxDB
|
|
influxdb:
|
|
image: influxdb:latest
|
|
restart: always
|
|
container_name: influxdb
|
|
environment:
|
|
- INFLUXDB_UDP_DATABASE=udp
|
|
- INFLUXDB_UDP_ENABLED=true
|
|
- INFLUXDB_UDP_BIND_ADDRESS=0.0.0.0:8086
|
|
volumes:
|
|
- /app-config/influxdb_data:/var/lib/influxdb2
|
|
expose:
|
|
- "8086"
|
|
- "8086/udp"
|
|
networks:
|
|
- proxy_network
|
|
|
|
# Emby Exporter
|
|
embyexporter:
|
|
image: bagul/goemby_exporter:latest
|
|
container_name: embyexporter
|
|
|
|
environment:
|
|
- TZ=Europe/Berlin
|
|
- CONFIG_FILE=/emby/tv.sascha-lutz.de.yml
|
|
volumes:
|
|
- /app-config/embyexporter_data:/emby/
|
|
expose:
|
|
- 9210
|
|
restart: unless-stopped
|
|
networks:
|
|
- proxy_network
|
|
|
|
|
|
loki:
|
|
image: grafana/loki:latest
|
|
container_name: loki
|
|
expose:
|
|
- "3100"
|
|
command: -config.file=/etc/loki/local-config.yaml
|
|
networks:
|
|
- proxy_network
|
|
volumes:
|
|
- /app-config/loki/loki-config.yaml:/etc/loki/local-config.yaml
|
|
- /app-config/loki/data:/data
|
|
restart: unless-stopped
|
|
|
|
uptime-kuma:
|
|
container_name: kuma
|
|
image: louislam/uptime-kuma:1
|
|
volumes:
|
|
- /app-config/kuma:/app/data
|
|
expose:
|
|
- 10.200.200.254:3001:3001
|
|
restart: unless-stopped
|
|
networks:
|
|
- proxy_network
|
|
|
|
|
|
waha:
|
|
restart: always
|
|
container_name: waha
|
|
image: devlikeapro/waha:latest
|
|
networks:
|
|
- proxy_network
|
|
dns:
|
|
- 1.1.1.1
|
|
- 8.8.8.8
|
|
logging:
|
|
driver: 'json-file'
|
|
options:
|
|
max-size: '100m'
|
|
max-file: '10'
|
|
ports:
|
|
- '10.200.200.254:3000:3000/tcp'
|
|
volumes:
|
|
- '/app-config/waha/sessions:/app/.sessions'
|
|
- '/app-config/waha/media:/app/.media'
|
|
environment:
|
|
- WAHA_API_KEY=1c3fc7082a0142c78a532324ca1ab2ab
|
|
- WAHA_DASHBOARD_USERNAME=sascha
|
|
- WAHA_DASHBOARD_PASSWORD=GT500r8!
|
|
- WHATSAPP_SWAGGER_USERNAME=sascha
|
|
- WHATSAPP_SWAGGER_PASSWORD=GT500r8!
|
|
- WAHA_DASHBOARD_ENABLED=True
|
|
- WHATSAPP_SWAGGER_ENABLED=True
|
|
- WHATSAPP_DEFAULT_ENGINE=WEBJS
|
|
- WAHA_BASE_URL=http://10.200.200.254:3000
|
|
- WAHA_MEDIA_STORAGE=LOCAL
|
|
- WHATSAPP_FILES_LIFETIME=0
|
|
- WHATSAPP_FILES_FOLDER=/app/.media
|
|
- TZ=Europe/Berlin
|
|
- WHATSAPP_WEB_AUTOMATION=true
|
|
- WHATSAPP_WEB_AUTO_RECONNECT=true
|
|
|
|
apprise-api:
|
|
image: lscr.io/linuxserver/apprise-api:latest
|
|
container_name: apprise-api
|
|
networks:
|
|
- proxy_network
|
|
environment:
|
|
- PUID=1000
|
|
- PGID=1000
|
|
- TZ=Europe/Berlin
|
|
#- APPRISE_ATTACH_SIZE=0 #optional
|
|
volumes:
|
|
- /app-config/apprise-api/config:/config
|
|
- /app-config/apprise-api/attachments:/attachments #optional
|
|
expose:
|
|
- 8000
|
|
restart: unless-stopped
|
|
|
|
|
|
promtail:
|
|
image: grafana/promtail:latest
|
|
container_name: promtail
|
|
volumes:
|
|
- /app-config/promtail/promtail-config.yaml:/etc/promtail/config.yaml
|
|
- /app-config/caddy/logs/:/var/log/caddy # Log-Verzeichnis von Caddy
|
|
- /app-config/loki/promtail/promtail_positions:/promtail/positions
|
|
command: -config.file=/etc/promtail/config.yaml
|
|
depends_on:
|
|
- loki
|
|
networks:
|
|
- proxy_network
|
|
|
|
node_exporter:
|
|
image: quay.io/prometheus/node-exporter:latest
|
|
container_name: node_exporter
|
|
network_mode: host
|
|
pid: host
|
|
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)($|/)'
|
|
restart: unless-stopped |