name: "books"
### THIS COMPOSE FILE
# This compose file contains book-related apps
# - Calibre
# - Calibre-web-automated
# - CWA-book-downloader
### ANCHORS
# - The following achors serve as my baseline info that is included in most of my containers
# - Default behaviour is to include all entries below '&home-lab-default' by adding <<: *homelab-default to each container
# - To add additional env args and labels to a container, I can still use the defaults with <<: &env and <<: &labels, then add additional entries
x-app: &homelab-default
restart: unless-stopped
security_opt:
- no-new-privileges=true
networks:
- homelab
environment: &env
PUID: ${PUID}
PGID: ${PGID}
TZ: ${TZ}
TP_THEME: organizr
labels: &labels
com.centurylinklabs.watchtower.enable: "true"
### SERVICES
services:
## BOOKS
calibre:
#description: https://docs.linuxserver.io/images/docker-calibre
<<: *homelab-default
image: ghcr.io/linuxserver/calibre
container_name: calibre
volumes:
- ${MEDIADIR}/media/books:/config
- ${MEDIADIR}/media/books/uploads:/uploads
- ${MEDIADIR}/media/books/plugins:/plugins
ports:
- 8086:8080
- 8087:8081
- 9090:9090
calibre-web-automated:
#description: https://github.com/crocodilestick/Calibre-Web-Automated
<<: *homelab-default
image: crocodilestick/calibre-web-automated:dev
container_name: calibre-web-automated
environment:
<<: *env
HARDCOVER_TOKEN: ${HARDCOVER_TOKEN}
volumes:
- ${DOCKERDIR}/calibre-web-automated:/config
- ${MEDIADIR}/media/books/uploads:/cwa-book-ingest
- "${MEDIADIR}/media/books/Calibre Library:/calibre-library"
- ${MEDIADIR}/media/books/plugins:/config/.config/calibre/plugins
ports:
- 8083:8083
calibre-web-automated-book-downloader:
#description: https://github.com/calibrain/calibre-web-automated-book-downloader
<<: *homelab-default
image: ghcr.io/calibrain/calibre-web-automated-book-downloader:latest
container_name: calibre-web-automated-book-downloader
environment:
<<: *env
FLASK_PORT: 8084
LOG_LEVEL: info
BOOK_LANGUAGE: en
USE_BOOK_TITLE: true
APP_ENV: prod
CWA_DB_PATH: /auth/app.db
ports:
- 8084:8084
volumes:
- ${MEDIADIR}/media/books/uploads:/cwa-book-ingest
- ${DOCKERDIR}/calibre-web-automated/app.db:/auth/app.db:ro
### NETWORKS
networks:
homelab:
driver: bridge
external: true