This page is read only. You can view the source, but not change it. Ask your administrator if you think this is wrong. ====== Calibre Web Automated ====== [[https://github.com/crocodilestick/Calibre-Web-Automated|CalibreWebAutomated (CWA)]] Making Calibre-Web your dream, all-in-one self-hosted digital library solution. Provide Calibre with CalibreWeb together to have a perfect e-book management platform. ===== Installation ===== As usual, you need to create the **cwa** user but be careful to assign it to the **media** group so that it can access all the books of your collection: <code bash> useradd -d /data/daemons/cwa -m -g media cwa </code> You will need also the proper folders setup: <code bash> mkdir /data/Books/cwa_config mkdir /data/Books/cwa_ingest mkdir /data/Books/library mkdir /data/Books/cwa_plugins chown cwa:media -R /data/Books/* </code> Then, as user **cwa**, create the following docker compose yaml (see [[https://github.com/crocodilestick/Calibre-Web-Automated#using-docker-compose-recommended|here]]): <file - docker-compose.yml> services: calibre-web-automated: image: crocodilestick/calibre-web-automated:latest container_name: calibre-web-automated environment: - TZ=Europe/Brussel - HARDCOVER_TOKEN=[[ see below ]] - NETWORK_SHARE_MODE=false - CWA_PORT_OVERRIDE=8083 volumes: - /data/ebooks/cwa_config:/config - /data/ebooks/cwa_ingest:/cwa-book-ingest - /data/ebooks/library:/calibre-library - /data/ebooks/cwa_plugins:/config/.config/calibre/plugins ports: - 7083:8083 networks: - cwa-net networks: cwa-net: {} </file> Set a proper port (7083)for your needs, one that is free from all your other services. Double check the various volumes to point to your media collection properly. Also set your TimeZone (TZ) appropriately. Pull the images: <code bash> su - cwa podman compose pull </code> Setup your API token, see [[https://docs.hardcover.app/api/getting-started/#getting-an-api-key|this]] page and beware that this is evolving fast. ===== Reverse Proxy ===== This is my recomended setup for NGINX: <file - cwa.conf> server { server_name books.mydomain.com; listen 8443 ssl; listen 443 ssl; access_log /var/log/nginx/books.mydomain.com_access_log main; error_log /var/log/nginx/books.mydomain.com_error_log info; location / { proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header Host $host; proxy_set_header Upgrade $http_upgrade; proxy_set_header Connection $connection_upgrade; proxy_http_version 1.1; proxy_pass http://127.0.0.1:7083; proxy_redirect http:// https://; } include com.mydomain/certbot.conf; } </file> Unfortunately CWA at this time does not support yet sub-paths, so you will need to host it on a subdomain. ===== Autostart ===== To start it, and set it up on boot, as usual follow my indications [[gentoo:containers|Using Containers on Gentoo]], so link the **user-containers** init script: <code> ln -s /etc/init.d/user-containers /etc/init.d/user-containers.cwa </code> and create the following config file: <file - /etc/conf.d/user-containers.cwa> USER=cwa DESCRIPTION="The cwa ebook server" </file> Add the service to the default runlevel and start it now: <code bash> rc-update add user-containers.cwa default rc-service user-containers.cwa start </code> ===== Upgrade ===== Since it's using pdoman, stop the service then, as user **cwa**, run: <code bash> podman compose pull </code> and restart the service.