diff --git a/docker-compose.yml b/docker-compose.yml index c8b6dab..28ea000 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -24,6 +24,8 @@ secrets: file: $SECRETSDIR/vwconnect_password skoda_password: file: $SECRETSDIR/skoda_password + skoda_api_key: + file: $SECRETSDIR/skoda_api_key skoda_spin: file: $SECRETSDIR/skoda_spin carconnect_grafana_pw: @@ -35,9 +37,6 @@ secrets: livesync_bridge_config: file: $SECRETSDIR/livesync_bridge_config.json - -include: - - ./evcc/docker-compose.yml ########################### EXTENSION FIELDS ########################## # Helps eliminate repetition of sections @@ -56,6 +55,31 @@ x-common-keys-monitoring: &common-keys-monitoring services: + dockge: + image: louislam/dockge:1 + container_name: dockge + restart: unless-stopped + environment: + - DOCKGE_STACKS_DIR=/home/simon/repo/Docker/stacks + - PUID=${UID} + - PGID=${GID} + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - /home/simon/repo/Docker/dockge-data:/app/data + - /home/simon/repo/Docker/stacks:/home/simon/repo/Docker/stacks + networks: + - frontend + labels: + - diun.enable=true + - "traefik.enable=true" + - "traefik.docker.network=frontend" + - "traefik.http.services.dockge-service.loadbalancer.server.port=5001" + - "traefik.http.routers.dockge-secure.entrypoints=web-secure" + - "traefik.http.routers.dockge-secure.rule=Host(`dockge.${DOMAIN}`)" + - "traefik.http.routers.dockge-secure.middlewares=chain-authelia@file" + - "traefik.http.routers.dockge-secure.tls.certresolver=milvert_dns" + - "traefik.http.routers.dockge-secure.tls=true" + reverse-proxy: # The official v2.0 Traefik docker image #image: traefik:v2.11 @@ -326,7 +350,7 @@ services: ha: container_name: ha - image: homeassistant/home-assistant:2026.9 + image: homeassistant/home-assistant:2026.10 restart: always privileged: true networks: @@ -469,7 +493,29 @@ services: environment: - diun.enable=true - + evcc: + command: + - evcc + container_name: evcc + image: evcc/evcc:0.317.2 + ports: + - 7070:7070/tcp + volumes: + - "./evcc/evcc.yaml:/etc/evcc.yaml:ro" + - ./evcc/evcc:/root/.evcc + restart: unless-stopped + networks: + - backend + labels: + - diun.enable=true + - "traefik.enable=true" + - "traefik.http.routers.evcc.entrypoints=web-secure" + - "traefik.http.routers.evcc.rule=Host(`box.${DOMAIN}`)" + - "traefik.http.services.evcc.loadbalancer.server.port=7070" + - "traefik.http.routers.evcc.middlewares=chain-no-auth@file" + - "traefik.http.routers.evcc.tls.certresolver=milvert_dns" + - "traefik.http.routers.evcc.tls=true" + grafana: image: grafana/grafana:10.3.1 container_name: grafana @@ -645,85 +691,6 @@ services: # ############################################################### - librespeed: - image: ghcr.io/linuxserver/librespeed:5.2.5 - container_name: librespeed - environment: - - PUID=${UUID} - - PGID=${PGID} - - TZ=${TZ} - - PASSWORD=${LIBRESPEED_PW} - - CUSTOM_RESULTS=false - - DB_TYPE=sqlite - volumes: - - ./librespeed/config:/config - restart: unless-stopped - networks: - - backend - labels: - - diun.enable=true - - "traefik.enable=true" - - "traefik.http.routers.librespeed.entrypoints=web-secure" - - "traefik.http.routers.librespeed.rule=Host(`librespeed.${DOMAIN}`)" - - "traefik.http.routers.librespeed.middlewares=chain-authelia@file" - - "traefik.http.routers.librespeed.tls.certresolver=milvert_dns" - - "traefik.http.routers.librespeed.tls=true" - - spoolman: - image: ghcr.io/donkie/spoolman:0.23 - container_name: spoolman - restart: unless-stopped - networks: - - backend - volumes: - - ${DIR_LOCAL}/spoolman/data:/home/app/.local/share/spoolman - environment: - - TZ=Europe/Stockholm - labels: - - "diun.enable=true" - - "traefik.enable=true" - - "traefik.http.services.spoolman-service.loadbalancer.server.port=8000" - - "traefik.http.routers.spoolman-secure.entrypoints=web-secure" - - "traefik.http.routers.spoolman-secure.rule=Host(`spoolman.${DOMAIN}`)" - - "traefik.http.routers.spoolman-secure.tls.certresolver=milvert_dns" - - "traefik.http.routers.spoolman-secure.tls=true" - - "traefik.http.routers.spoolman-secure.middlewares=chain-authelia@file" - - spoolman-updater: - image: marcokreeft/spoolman-updater:latest - container_name: spoolman-updater - restart: unless-stopped - secrets: - - home_assistant_token_spoolman - entrypoint: - - /bin/sh - - -c - - | - export APPLICATION__HOMEASSISTANT__TOKEN="$$(cat /run/secrets/home_assistant_token_spoolman)" - exec dotnet Application.dll - ports: - - "8089:8080" - networks: - - backend - environment: - - TZ=Europe/Stockholm - - APPLICATION__HOMEASSISTANT__URL=http://ha:8123 - - APPLICATION__SPOOLMAN__URL=http://spoolman:8000 - - APPLICATION__HOMEASSISTANT__EXTERNALSPOOLENTITY=sensor.a1mini_0309da441900142_externalspool_external_spool - - APPLICATION__HOMEASSISTANT__TRAYENTITIES__0=sensor.a1mini_0309da441900142_ams_1_tray_1 - - APPLICATION__HOMEASSISTANT__TRAYENTITIES__1=sensor.a1mini_0309da441900142_ams_1_tray_2 - - APPLICATION__HOMEASSISTANT__TRAYENTITIES__2=sensor.a1mini_0309da441900142_ams_1_tray_3 - - APPLICATION__HOMEASSISTANT__TRAYENTITIES__3=sensor.a1mini_0309da441900142_ams_1_tray_4 - labels: - - "diun.enable=true" - - "traefik.enable=true" - - "traefik.http.services.spoolman-updater-service.loadbalancer.server.port=8080" - - "traefik.http.routers.spoolman-updater-secure.entrypoints=web-secure" - - "traefik.http.routers.spoolman-updater-secure.rule=Host(`spoolman-updater.${DOMAIN}`)" - - "traefik.http.routers.spoolman-updater-secure.tls.certresolver=milvert_dns" - - "traefik.http.routers.spoolman-updater-secure.tls=true" - - "traefik.http.routers.spoolman-updater-secure.middlewares=chain-authelia@file" - jelu: image: wabayang/jelu container_name: jelu @@ -869,6 +836,7 @@ services: - TMPDIR=/state secrets: - skoda_password + - skoda_api_key - skoda_spin entrypoint: ["/root/entrypoint.sh"] command: ["carconnectivity-mqtt", "/carconnectivity.json"]