From 3527f94efabd8c7810df5bca86baf9defee94b6d Mon Sep 17 00:00:00 2001 From: Damien De Paoli Date: Sat, 16 Aug 2025 11:33:45 +1000 Subject: [PATCH] added skip profile to readarr as its no longer supported/working, cleaned up syntax/format for restart clause for all, fixed up dumbness with the mara/homarr/myth web containers so that all works, still troubleshooting calibre - can only get it to go via direct ports, not via traefik for now --- docker-compose.yml | 105 ++++++++++++++++++++++++--------------------- 1 file changed, 56 insertions(+), 49 deletions(-) diff --git a/docker-compose.yml b/docker-compose.yml index 864b2e7..0b2b9eb 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -95,7 +95,9 @@ services: readarr: container_name: readarr image: linuxserver/readarr:nightly - restart: always + restart: "always" + profiles: + - skip environment: - TZ=Australia/Melbourne - PUID=500 @@ -117,7 +119,7 @@ services: calibre: container_name: calibre image: linuxserver/calibre:latest - restart: always + restart: "always" environment: - TZ=Australia/Melbourne - PUID=500 @@ -128,6 +130,7 @@ services: - "traefik.http.routers.calibre.service=calibre" - "traefik.http.routers.calibre.rule=Host(`calibre.ddp.net`)" - "traefik.http.services.calibre.loadbalancer.server.port=8080" + - "traefik.http.services.calibre.loadbalancer.server.scheme=https" - "traefik.http.routers.calibre.entrypoints=web" - "traefik.http.routers.calibreweb.service=calibreweb" - "traefik.http.routers.calibreweb.rule=Host(`calibreweb.ddp.net`)" @@ -136,16 +139,21 @@ services: - "last.commit.url=https://api.github.com/repos/linuxserver/docker-calibre/commits" depends_on: - adguard + ports: + - "0.0.0.0:38080:8080" + - "0.0.0.0:38181:8181" + - "0.0.0.0:38081:8081" volumes: - /srv/docker/container/calibre/config:/config + - /export/docker/storage/books/:/books - /etc/localtime:/etc/localtime:ro - # this is running network_mode: host to be on 192.168.0/24 subnet, so that + # this is running network_mode: host to be on 192.168.2/24 subnet, so that # direct play on tv works (from memory) emby: container_name: emby # image: emby/embyserver:latest - image: emby/embyserver:4.9.1.0 + image: emby/embyserver:4.9.1.18 restart: always network_mode: host environment: @@ -177,7 +185,7 @@ services: # fail2ban might need a better whitelist? (I had internal docker ips in my quick fudge as well?) mail: - image: docker.io/mailserver/docker-mailserver:15.0.2 + image: docker.io/mailserver/docker-mailserver:15.1.0 hostname: depaoli.id.au domainname: depaoli.id.au container_name: mail @@ -326,7 +334,7 @@ services: portainer: container_name: portainer image: portainer/portainer-ce:latest - restart: always + restart: "always" depends_on: - adguard volumes: @@ -378,7 +386,7 @@ services: mass: image: ghcr.io/music-assistant/server:latest container_name: mass - restart: always + restart: "always" network_mode: host cap_add: - SYS_ADMIN @@ -421,7 +429,9 @@ services: esphome: container_name: esphome - image: esphome/esphome +# image: esphome/esphome:2025.5.2 + image: esphome/esphome:latest + restart: "always" environment: - ESPHOME_DASHBOARD_USE_PING=true volumes: @@ -434,7 +444,6 @@ services: - "traefik.http.routers.esphome.rule=Host(`esphome.ddp.net`)" - "traefik.http.routers.esphome.entrypoints=web" - "last.commit.url=https://api.github.com/repos/esphome/esphome/commits" - restart: always privileged: true sabnzbd: @@ -462,6 +471,7 @@ services: influxdb: image: influxdb:latest container_name: influxdb + restart: always environment: - DOCKER_INFLUXDB_INIT_MODE=setup - DOCKER_INFLUXDB_INIT_ORG=mara @@ -481,11 +491,11 @@ services: - "traefik.http.routers.influxdb.rule=Host(`influx.ddp.net`)" - "traefik.http.routers.influxdb.entrypoints=web" - "last.commit.url=https://api.github.com/repos/influxdata/influxdb/commits" - restart: always telegraf: image: telegraf:latest container_name: telegraf + restart: always # needs to be 0 / root to run smartmontools / nvme user: "root" # this is used to add docker group to telegraf user for reading docker.sock and installing smartmontools, etc. @@ -517,7 +527,6 @@ services: - "last.commit.url=https://api.github.com/repos/influxdata/telegraf/commits" depends_on: - influxdb - restart: always grafana: image: grafana/grafana:latest @@ -547,18 +556,18 @@ services: - "last.commit.url=https://api.github.com/repos/grafana/grafana/commits" adguard: - container_name: adguard image: adguard/adguardhome + container_name: adguard + restart: always ports: - - "192.168.0.2:53:53/tcp" - - "192.168.0.2:53:53/udp" + - "192.168.2.2:53:53/tcp" + - "192.168.2.2:53:53/udp" environment: TZ: 'Australia/Melbourne' volumes: - /srv/docker/container/adguard/conf:/opt/adguardhome/conf - /srv/docker/container/adguard/work:/opt/adguardhome/work - /etc/localtime:/etc/localtime:ro - restart: always labels: - "com.centurylinklabs.watchtower.enable=true" - "traefik.enable=true" @@ -568,9 +577,9 @@ services: - "last.commit.url=https://api.github.com/repos/AdguardTeam/AdGuardHome/commits" bookdb_dev: - container_name: bookdb_dev image: postgres:latest - restart: always + container_name: bookdb_dev + restart: "always" environment: POSTGRES_USER: ddp POSTGRES_DB: library @@ -587,8 +596,8 @@ services: - /etc/localtime:/etc/localtime:ro bookdb: - container_name: bookdb image: postgres:17 + container_name: bookdb restart: always environment: POSTGRES_USER: ddp @@ -607,7 +616,7 @@ services: bookdev: container_name: bookdev - restart: always + restart: "always" environment: FLASK_ENV: "container" build: @@ -657,7 +666,7 @@ services: padb_dev: container_name: padb_dev image: postgres:latest - restart: always + restart: "always" # replace entrypoint to install cron and a cron job to backup users so we can rebuild the content from sqls entrypoint: /root/mara-init/entrypoint-wrapper.sh labels: @@ -712,7 +721,7 @@ services: padev: container_name: padev - restart: always + restart: "always" build: context: '/home/ddp/src/photoassistant' args: @@ -758,7 +767,7 @@ services: finplan: container_name: finplan - restart: always + restart: "always" environment: ENV: "production" # force using uid/gid of 1000/1000 so we can share dev/prod for now - may care enough 1 day to fix @@ -778,9 +787,9 @@ services: - "traefik.http.routers.finplan.entrypoints=web" vaultwarden: + image: vaultwarden/server:latest container_name: vaultwarden restart: always - image: vaultwarden/server:latest depends_on: - adguard - openldap @@ -805,10 +814,10 @@ services: # auto-update docker images watchtower: - container_name: watchtower image: containrrr/watchtower:latest-dev + container_name: watchtower + restart: "always" command: --schedule "0 0 3 * * *" --debug --stop-timeout 60s --label-enable --cleanup - restart: always depends_on: - adguard labels: @@ -844,7 +853,7 @@ services: # used for hass (eufy) to stream from camera rtsp_simple_server: - image: aler9/rtsp-simple-server:latest + image: bluenviron/mediamtx:latest container_name: rtsp_simple_server restart: always environment: @@ -860,7 +869,6 @@ services: volumes: - "/etc/localtime:/etc/localtime:ro" -# NOT YET - API calls don't match DB, need to wait mon: image: louislam/uptime-kuma:beta container_name: mon @@ -888,8 +896,8 @@ services: sshwifty: image: niruix/sshwifty:latest container_name: sshwifty - user: "nobody:nobody" restart: always + user: "nobody:nobody" labels: - "com.centurylinklabs.watchtower.enable=true" - "traefik.enable=true" @@ -905,9 +913,9 @@ services: - "/etc/localtime:/etc/localtime:ro" mythdb: - container_name: mythdb image: mariadb:latest - restart: always + container_name: mythdb + restart: "always" labels: - "com.centurylinklabs.watchtower.enable=true" - "last.commit.url=https://api.github.com/repos/MariaDB/mariadb-docker/commits" @@ -929,12 +937,17 @@ services: - /etc/localtime:/etc/localtime:ro mythweb: - container_name: mythweb image: ubuntu:latest + container_name: mythweb + restart: "always" hostname: mythweb - restart: always labels: - "com.centurylinklabs.watchtower.enable=true" + - "traefik.enable=true" + - "traefik.http.routers.mythweb.rule=Host(`myth.ddp.net`)" + - "traefik.http.routers.mythweb.entrypoints=web" + # think I need this as maybe it takes too long for the container to start + - "traefik.http.services.mythweb.loadbalancer.server.port=80" entrypoint: /root/mara-init/entrypoint-wrapper.sh environment: APACHE_LOG_DIR: /var/log/apache2 @@ -952,10 +965,7 @@ services: - /srv/docker/container/mythtv/mythweb/mara-init:/root/mara-init - /srv/docker/container/mythtv/mythweb/mara-bin:/root/mara-bin - /srv/docker/container/mythtv/monitoring-results:/monitoring-results -# - /etc/localtime:/etc/localtime:ro - /export/myth:/export/myth - ports: - - "0.0.0.0:16543:80" env_file: - /srv/docker/config/secrets/mythtv depends_on: @@ -966,8 +976,8 @@ services: myth: container_name: myth image: ubuntu:latest + restart: "always" hostname: ${HOSTNAME_MYTHTV:-mythtv} - restart: always labels: - "com.centurylinklabs.watchtower.enable=true" # needed to renice / ionice just the mythbackend process inside this container @@ -999,7 +1009,6 @@ services: - /srv/docker/container/mythtv/db/sql:/db-container/sql - /srv/docker/container/mythtv/db/backups:/db-container/backups - /srv/docker/container/mythtv/monitoring-results:/monitoring-results -# - /etc/localtime:/etc/localtime:ro - /export/myth:/export/myth - /export/docker/storage/other-videos:/export/myth/videos devices: @@ -1012,6 +1021,7 @@ services: wiki: image: lscr.io/linuxserver/bookstack:latest container_name: wiki + restart: always environment: - PUID=1000 - PGID=1000 @@ -1023,7 +1033,6 @@ services: volumes: - /srv/docker/container/wiki:/config - /etc/localtime:/etc/localtime:ro - restart: unless-stopped depends_on: - wikidb labels: @@ -1038,6 +1047,7 @@ services: wikidb: image: lscr.io/linuxserver/mariadb:latest container_name: wikidb + restart: always environment: - PUID=1000 - PGID=1000 @@ -1048,7 +1058,6 @@ services: - /srv/docker/container/wikidb/config:/config - /srv/docker/container/wikidb/data:/var/lib/mysql - /etc/localtime:/etc/localtime:ro - restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=true" - "last.commit.url=https://api.github.com/repos/linuxserver/docker-mariadb/commits" @@ -1065,16 +1074,15 @@ services: web: image: php:apache container_name: web + restart: "always" volumes: - /srv/docker/container/web/data:/var/www/html - /srv/docker/container/web/mara-init:/root/mara-init - /etc/localtime:/etc/localtime:ro - restart: unless-stopped - entrypoint: "/root/mara-init/entrypoint-wrapper.sh" labels: - "com.centurylinklabs.watchtower.enable=true" - "traefik.enable=true" - - "traefik.http.routers.web.rule=Host(`myth.ddp.net`)" + - "traefik.http.routers.web.rule=Host(`mara.ddp.net`)" - "traefik.http.routers.web.entrypoints=web" - "last.commit.url=https://api.github.com/repos/docker-library/php/commits" @@ -1083,10 +1091,10 @@ services: depweb: image: php:apache container_name: depweb + restart: "always" volumes: - /srv/docker/container/depweb/data:/var/www/html - /etc/localtime:/etc/localtime:ro - restart: unless-stopped labels: - "com.centurylinklabs.watchtower.enable=true" - "traefik.enable=true" @@ -1099,8 +1107,8 @@ services: samba: image: ubuntu:latest container_name: samba + restart: "always" entrypoint: /root/mara-init/entrypoint.sh - restart: always # forcing hostname so the samba sid is reliable hostname: sambacontainer ports: @@ -1121,8 +1129,8 @@ services: ftp: image: ubuntu:latest container_name: ftp + restart: "always" entrypoint: /root/mara-init/entrypoint.sh - restart: always ports: # active ports - "0.0.0.0:20:20" @@ -1147,8 +1155,6 @@ services: build: /srv/docker/container/ftps container_name: ftps restart: always - #restart: unless-stopped - #network_mode: host ports: # active ports - "40021:21" @@ -1171,6 +1177,7 @@ services: cdpdev: image: node:latest container_name: cdpdev + restart: "always" volumes: - /home/cam/code/quizzington-city:/app entrypoint: /app/init.sh @@ -1188,7 +1195,7 @@ services: homarr: container_name: homarr image: ghcr.io/homarr-labs/homarr:latest - restart: unless-stopped + restart: "always" volumes: - /var/run/docker.sock:/var/run/docker.sock # Optional, only if you want docker integration - /srv/docker/container/homarr/appdata:/appdata @@ -1197,7 +1204,7 @@ services: labels: - "com.centurylinklabs.watchtower.enable=true" - "traefik.enable=true" - - "traefik.http.routers.homarr.rule=Host(`homarr.ddp.net`) || Host(`mara.ddp.net`)" + - "traefik.http.routers.homarr.rule=Host(`homarr.ddp.net`)" - "traefik.http.routers.homarr.entrypoints=web" - "traefik.http.services.homarr.loadbalancer.server.port=7575" - "last.commit.url=https://api.github.com/repos/homarr-labs/homarr/commits"