# Calibre-Web Automated - Automatizált e-könyv könyvtár # Domain: ${SUBDOMAIN}.${DOMAIN} # Database: None (file-based) # RAM: ~200M (mem_limit: 768M) | Pi-compatible: No # # Environment variables: # DOMAIN - Your domain (e.g., demo-felhom.eu) # USERDATA_PATH - Ügyfél-tartalom gyökér (/userdata) # # Storage layout (felhom userdata convention): # App config/DB → calibre_web_config (named volume, NVMe) # Calibre library → ${USERDATA_PATH}/media/books (browsable, írható) # Book ingest → ${USERDATA_PATH}/import/calibre (drop-zone — processed and removed) # Run-identity: PUID/PGID 1000 (shared content group); UMASK=002 so output is group-writable. # # First-time setup: # Default login: admin / admin123 — change immediately! services: calibre-web: image: crocodilestick/calibre-web-automated:latest container_name: calibre-web restart: unless-stopped environment: - TZ=Europe/Budapest - PUID=1000 - PGID=1000 - UMASK=002 volumes: - calibre_web_config:/config - ${USERDATA_PATH}/import/calibre:/cwa-book-ingest - ${USERDATA_PATH}/media/books:/calibre-library networks: - traefik-public deploy: resources: limits: memory: 768M healthcheck: test: ["CMD", "curl", "-f", "http://127.0.0.1:8083"] interval: 30s timeout: 5s retries: 3 start_period: 30s labels: - "traefik.enable=true" - "traefik.http.routers.calibre-web.rule=Host(`${SUBDOMAIN}.${DOMAIN}`)" - "traefik.http.routers.calibre-web.entrypoints=websecure" - "traefik.http.routers.calibre-web.tls=true" - "traefik.http.routers.calibre-web.tls.certresolver=letsencrypt" - "traefik.http.services.calibre-web.loadbalancer.server.port=8083" volumes: calibre_web_config: networks: traefik-public: external: true