Jafner.net/homelab/stacks/books/docker-compose.yml
Joey Hafner ef0049c4f0
Some checks are pending
Stacks CICD / Setup (push) Waiting to run
Add lazylibrarian to web network
2024-09-02 14:50:16 -07:00

151 lines
5.8 KiB
YAML

name: "books"
services:
sabnzbd:
image: linuxserver/sabnzbd:latest
container_name: books_sabnzbd
networks:
- web
environment:
TZ: America/Los_Angeles
PGID: "1001"
PUID: "1001"
volumes:
- "${DOCKER_DATA}/sabnzbd:/config"
- "${NZB_COMPLETED}:/downloads"
- "${NZB_INCOMPLETE}:/incomplete-downloads"
labels:
traefik.http.routers.books-sabnzbd.middlewares: lan-only@file,traefik-forward-auth-privileged@file
traefik.http.routers.books-sabnzbd.rule: Host(`sabnzbd.books.jafner.net`)
traefik.http.routers.books-sabnzbd.tls.certresolver: lets-encrypt-dns01
traefik.http.services.books-sabnzbd.loadbalancer.server.port: 8080
readarr-ebooks:
image: lscr.io/linuxserver/readarr:0.4.0-nightly
container_name: books_readarr-ebooks
networks:
- web
environment:
TZ: America/Los_Angeles
PUID: "1001"
PGID: "1001"
volumes:
- "${EBOOKS_LIBRARY}:/books"
- "${DOCKER_DATA}/readarr-ebooks:/config"
- "${NZB_COMPLETED}:/downloads"
labels:
traefik.http.routers.books-readarr-ebooks.middlewares: lan-only@file,traefik-forward-auth-privileged@file
traefik.http.routers.books-readarr-ebooks.rule: Host(`ebooks.readarr.books.jafner.net`)
traefik.http.routers.books-readarr-ebooks.tls.certresolver: lets-encrypt-dns01
traefik.http.services.books-readarr-ebooks.loadbalancer.server.port: "8787"
lazylibrarian:
image: lscr.io/linuxserver/lazylibrarian:latest
container_name: books_lazylibrarian
networks:
- web
environment:
PUID: "1001"
PGID: "1001"
TZ: America/Los_Angeles
DOCKER_MODS: linuxserver/mods:universal-calibre|linuxserver/mods:lazylibrarian-ffmpeg
volumes:
- "${EBOOKS_LIBRARY}:/books"
- "${DOCKER_DATA}/lazylibrarian:/config"
- "${NZB_COMPLETED}:/downloads"
labels:
traefik.http.routers.books-lazylibrarian.middlewares: lan-only@file,traefik-forward-auth-privileged@file
traefik.http.routers.books-lazylibrarian.rule: Host(`lazylibrarian.books.jafner.net`)
traefik.http.routers.books-lazylibrarian.tls.certresolver: lets-encrypt-dns01
traefik.http.services.books-lazylibrarian.loadbalancer.server.port: "5299"
calibre:
image: lscr.io/linuxserver/calibre:latest
container_name: books_calibre
security_opt:
- seccomp:unconfined
networks:
- web
environment:
CALIBRE_OVERRIDE_DATABASE_PATH: /config/metadata.db
CUSTOM_USER: admin
PASSWORD: ${calibre_PASSWORD}
PGID: "1001"
PUID: "1001"
TZ: America/Los_Angeles
volumes:
- "${EBOOKS_LIBRARY}:/ebooks"
- "${DOCKER_DATA}/calibre:/config"
restart: unless-stopped
labels:
traefik.http.routers.books-calibre-desktop.middlewares: lan-only@file,traefik-forward-auth-privileged@file
traefik.http.routers.books-calibre-desktop.rule: Host(`desktop.calibre.books.jafner.net`)
traefik.http.routers.books-calibre-desktop.service: books-calibre-desktop@docker
traefik.http.routers.books-calibre-desktop.tls.certresolver: lets-encrypt-dns01
traefik.http.routers.books-calibre-webui.middlewares: lan-only@file,traefik-forward-auth-privileged@file
traefik.http.routers.books-calibre-webui.rule: Host(`webui.calibre.books.jafner.net`)
traefik.http.routers.books-calibre-webui.service: books-calibre-webui@docker
traefik.http.routers.books-calibre-webui.tls.certresolver: lets-encrypt-dns01
traefik.http.services.books-calibre-desktop.loadbalancer.server.port: "8080"
traefik.http.services.books-calibre-webui.loadbalancer.server.port: "8081"
calibre-web:
image: linuxserver/calibre-web:latest
container_name: books_calibre-web
environment:
PGID: "1001"
PUID: "1001"
TZ: America/Los_Angeles
volumes:
- "${EBOOKS_LIBRARY}:/ebooks"
- "${DOCKER_DATA}/calibre-web:/config"
- "${DOCKER_DATA}/calibre/metadata.db:/ebooks/metadata.db"
labels:
traefik.http.routers.books-calibre-web.middlewares: lan-only@file,traefik-forward-auth-privileged@file
traefik.http.routers.books-calibre-web.rule: Host(`calibreweb.books.jafner.net`)
traefik.http.routers.books-calibre-web.tls.certresolver: lets-encrypt-dns01
networks:
- web
readarr-audiobooks:
image: lscr.io/linuxserver/readarr:0.4.0-nightly
container_name: books_readarr-audiobooks
networks:
- web
environment:
TZ: America/Los_Angeles
PUID: "1001"
PGID: "1001"
volumes:
- "${AUDIOBOOKS_LIBRARY}:/books"
- "${DOCKER_DATA}/readarr-audiobooks:/config"
- "${NZB_COMPLETED}:/downloads"
labels:
traefik.http.routers.books-readarr-audiobooks.middlewares: lan-only@file,traefik-forward-auth-privileged@file
traefik.http.routers.books-readarr-audiobooks.rule: Host(`audio.readarr.books.jafner.net`)
traefik.http.routers.books-readarr-audiobooks.tls.certresolver: lets-encrypt-dns01
traefik.http.services.books-readarr-audiobooks.loadbalancer.server.port: "8787"
audiobookshelf:
image: ghcr.io/advplyr/audiobookshelf:latest
container_name: books_audiobookshelf
networks:
- web
environment:
PGID: "1001"
PUID: "1001"
TZ: America/Los_Angeles
volumes:
- "${AUDIOBOOKS_LIBRARY}:/books"
- "${DOCKER_DATA}/audiobookshelf:/config"
- "${DOCKER_DATA}/audiobookshelf-metadata:/metadata"
labels:
traefik.http.routers.books-audiobookshelf.middlewares: lan-only@file,traefik-forward-auth-privileged@file
traefik.http.routers.books-audiobookshelf.rule: Host(`audiobookshelf.books.jafner.net`)
traefik.http.routers.books-audiobookshelf.tls.certresolver: lets-encrypt-dns01
traefik.http.services.books-audiobookshelf.loadbalancer.server.port: "8787"
networks:
web:
external: true