version: '3'
services:
  calibre-web-rpg:
    image: linuxserver/calibre-web
    container_name: calibre-web_rpg
    logging:
      driver: loki
      options:
        loki-url: http://localhost:3100/loki/api/v1/push
        loki-batch-size: "50"
        loki-retries: "1"
        loki-timeout: "2s"
        keep-file: "true"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
    volumes:
      - calibre-web-rpg_data:/config
      - $LIBRARY_DIR/rpg:/books
    labels:
      - traefik.http.routers.calibre-rpg.rule=Host(`rpg.calibre.jafner.net`)
      - traefik.http.routers.calibre-rpg.tls.certresolver=lets-encrypt
      # - traefik.http.routers.calibre-rpg.middlewares=authentik@file,securityheaders@file
    networks:
      - web

  calibre-web-sff:
    image: linuxserver/calibre-web
    container_name: calibre-web_sff
    logging:
      driver: loki
      options:
        loki-url: http://localhost:3100/loki/api/v1/push
        loki-batch-size: "50"
        loki-retries: "1"
        loki-timeout: "2s"
        keep-file: "true"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
    volumes:
      - calibre-web-sff_data:/config
      - $LIBRARY_DIR/sff:/books
    labels:
      - traefik.http.routers.calibre-sff.rule=Host(`sff.calibre.jafner.net`)
      - traefik.http.routers.calibre-sff.tls.certresolver=lets-encrypt
      # - traefik.http.routers.calibre-sff.middlewares=authentik@file,securityheaders@file
    networks:
      - web

  calibre-web-ace:
    image: linuxserver/calibre-web
    container_name: calibre-web_ace
    logging:
      driver: loki
      options:
        loki-url: http://localhost:3100/loki/api/v1/push
        loki-batch-size: "50"
        loki-retries: "1"
        loki-timeout: "2s"
        keep-file: "true"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
    volumes:
      - calibre-web-ace_data:/config
      - $LIBRARY_DIR/ace:/books
    labels:
      - traefik.http.routers.calibre-ace.rule=Host(`ace.calibre.jafner.net`)
      - traefik.http.routers.calibre-ace.tls.certresolver=lets-encrypt
      # - traefik.http.routers.calibre-ace.middlewares=authentik@file,securityheaders@file
    networks:
      - web
  
  calibre-web-dev:
    image: registry.gitlab.jafner.net/jafner/calibre-web/calibre-web:master-latest
    container_name: calibre-web_dev
    logging:
      driver: loki
      options:
        loki-url: http://localhost:3100/loki/api/v1/push
        loki-batch-size: "50"
        loki-retries: "1"
        loki-timeout: "2s"
        keep-file: "true"
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=America/Los_Angeles
    volumes:
      - calibre-web-dev_data:/config
      - $LIBRARY_DIR/dev:/books
    labels:
      - traefik.http.routers.calibre-dev.rule=Host(`dev.calibre.jafner.net`)
      - traefik.http.routers.calibre-dev.tls.certresolver=lets-encrypt
      - traefik.http.routers.calibre-dev.middlewares=securityheaders@file
    networks:
      - web

networks:
  web:
    external: true
volumes:
  calibre-web-rpg_data:
  calibre-web-sff_data:
  calibre-web-ace_data:
  calibre-web-dev_data: