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"
    env_file:
      - calibre-web.env
    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
    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"
    env_file:
      - calibre-web.env
    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
    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"
    env_file:
      - calibre-web.env
    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
    networks:
      - web

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