From e6ce62ae09ac16e07d3b9fb30e890e0223f2833c Mon Sep 17 00:00:00 2001 From: chris Date: Sun, 3 Aug 2025 19:00:42 +0200 Subject: [PATCH] vaultwarden, calibre, cleanup --- docker-compose.yml | 5 +- project/media/calibre/calibre.yml | 52 +++++++++++++++++++ project/media/immich/immich.yml | 4 +- project/service/sponsorblock/sponsorblock.yml | 11 ---- project/service/vaultwarden/vaultwarden.yml | 26 ++++++++++ 5 files changed, 84 insertions(+), 14 deletions(-) create mode 100644 project/media/calibre/calibre.yml delete mode 100644 project/service/sponsorblock/sponsorblock.yml create mode 100644 project/service/vaultwarden/vaultwarden.yml diff --git a/docker-compose.yml b/docker-compose.yml index dd62e9b..e9957ba 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -33,6 +33,7 @@ include: - path: - ${MEDIA_PATH}/audiobookshelf/audiobookshelf.yml + - ${MEDIA_PATH}/calibre/calibre.yml - ${MEDIA_PATH}/immich/immich.yml - ${MEDIA_PATH}/prowlarr/prowlarr.yml - ${MEDIA_PATH}/qbittorrent/qbittorrent.yml @@ -51,8 +52,8 @@ include: - ${SERVICE_PATH}/paperless-ngx/paperless-ngx.yml - ${SERVICE_PATH}/radicale/radicale.yml - ${SERVICE_PATH}/shlink/shlink.yml - - ${SERVICE_PATH}/sponsorblock/sponsorblock.yml - ${SERVICE_PATH}/stirling-pdf/stirling-pdf.yml + - ${SERVICE_PATH}/vaultwarden/vaultwarden.yml - ${SERVICE_PATH}/vikunja/vikunja.yml env_file: ${SERVICE_PATH}/.env @@ -72,4 +73,4 @@ networks: # config: # # - subnet: "2a04:ee41:86:9397::/64" # - subnet: "2001:db8:2:/64" - # - gateway: "2001:db8:2::1" \ No newline at end of file + # - gateway: "2001:db8:2::1" diff --git a/project/media/calibre/calibre.yml b/project/media/calibre/calibre.yml new file mode 100644 index 0000000..4200d59 --- /dev/null +++ b/project/media/calibre/calibre.yml @@ -0,0 +1,52 @@ +services: + calibre: + extends: + file: ${TEMPLATES_PATH} + service: default + image: lscr.io/linuxserver/calibre:latest + container_name: calibre + environment: + - PASSWORD= #optional + - CLI_ARGS= #optional + volumes: + - ${MEDIA_PATH}/data/media/ebooks:/config + ports: + - 2005:8080 # gui + - 2006:8181 # gui https + - 2007:8081 # webserver ui + networks: + - ip4net + labels: + # Watchtower + - "com.centurylinklabs.watchtower.enable=true" + # Traefik + - "traefik.enable=true" + - "traefik.http.routers.calibre.rule=Host(`calibre.${LOCAL_DOMAIN}`)" + - "traefik.http.routers.calibre.entrypoints=https" + - 'traefik.http.routers.calibre.tls=true' + + calibre-web: + extends: + file: ${TEMPLATES_PATH} + service: default + image: lscr.io/linuxserver/calibre-web:latest + container_name: calibre-web + environment: + - DOCKER_MODS=linuxserver/mods:universal-calibre #optional + # - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional + volumes: + - /path/to/calibre-web/data:/config + - ${MEDIA_PATH}/calibre/data:/config + - ${MEDIA_PATH}/data/media/ebooks:/books + ports: + - 2008:8083 + networks: + - ip6net + labels: + # Watchtower + - "com.centurylinklabs.watchtower.enable=true" + # Traefik + - "traefik.enable=true" + - "traefik.http.routers.calibre-web.rule=Host(`calibre-web.${LOCAL_DOMAIN}`)" + - "traefik.http.routers.calibre-web.entrypoints=https" + - 'traefik.http.routers.calibre-web.tls=true' diff --git a/project/media/immich/immich.yml b/project/media/immich/immich.yml index 8afaf70..53dba3d 100644 --- a/project/media/immich/immich.yml +++ b/project/media/immich/immich.yml @@ -12,7 +12,7 @@ services: DB_DATABASE_NAME: immich REDIS_HOSTNAME: redis volumes: - # to mount the trueNas external library: sudo mount 192.168.1.212:/mnt/hdd-storage/vm-external-storage/immich /mnt/external-storage/immich/ + # to mount the trueNas external library: sudo mount 192.168.178.36:/mnt/hdd-storage/vm-external-storage/immich /mnt/external-storage/immich/ - ${IMMICH_EXTERNAL_PATH}:/usr/src/app/external:ro - ${MEDIA_PATH}/immich/data/library:/usr/src/app/upload - /etc/localtime:/etc/localtime:ro @@ -38,6 +38,8 @@ services: service: default container_name: immich_machine_learning image: ghcr.io/immich-app/immich-machine-learning:release + ports: + - 3003:3003 volumes: - ${MEDIA_PATH}/immich/data/model-cache:/cache labels: diff --git a/project/service/sponsorblock/sponsorblock.yml b/project/service/sponsorblock/sponsorblock.yml deleted file mode 100644 index 0302664..0000000 --- a/project/service/sponsorblock/sponsorblock.yml +++ /dev/null @@ -1,11 +0,0 @@ -services: - sponsorblock: - extends: - file: ${TEMPLATES_PATH} - service: default - image: ghcr.io/dmunozv04/isponsorblocktv - container_name: sponsorblock - networks: - - ip4net - volumes: - - ${SERVICE_PATH}/sponsorblock/data:/app/data \ No newline at end of file diff --git a/project/service/vaultwarden/vaultwarden.yml b/project/service/vaultwarden/vaultwarden.yml new file mode 100644 index 0000000..e588d31 --- /dev/null +++ b/project/service/vaultwarden/vaultwarden.yml @@ -0,0 +1,26 @@ +services: + vaultwarden: + extends: + file: ${TEMPLATES_PATH} + service: default + image: vaultwarden/server:latest + container_name: vaultwarden + ports: + - 4018:80 + networks: + - ip6net + environment: + DOMAIN: "https://vaultwarden.${PUBLIC_DOMAIN}" + volumes: + - ${SERVICE_PATH}/vaultwarden/data:/data/ + labels: + # Watchtower + - "com.centurylinklabs.watchtower.enable=true" + # Traefik + - "traefik.enable=true" + - "traefik.http.routers.vaultwarden.rule=Host(`vaultwarden.${PUBLIC_DOMAIN}`)" + - "traefik.http.routers.vaultwarden.entrypoints=https" + - "traefik.http.routers.vaultwarden.tls=true" + - "traefik.http.routers.vaultwarden.tls.certresolver=myresolver" + # Middlewares + - "traefik.http.routers.vaultwarden.middlewares=crowdsec-bouncer@file"