{"id":16101451,"url":"https://github.com/mendhak/docker-calibre-web-cloudflared","last_synced_at":"2025-03-18T07:31:30.317Z","repository":{"id":141194589,"uuid":"482796194","full_name":"mendhak/docker-calibre-web-cloudflared","owner":"mendhak","description":"Example setup of a public facing Calibre Web server exposed through Cloudflare Tunnel","archived":false,"fork":false,"pushed_at":"2024-05-31T19:53:04.000Z","size":17,"stargazers_count":7,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-02-28T08:17:17.672Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mendhak.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2022-04-18T09:54:11.000Z","updated_at":"2024-11-11T18:48:21.000Z","dependencies_parsed_at":null,"dependency_job_id":"804b18d6-5a1b-44b9-814d-52ba5ddfb53b","html_url":"https://github.com/mendhak/docker-calibre-web-cloudflared","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mendhak%2Fdocker-calibre-web-cloudflared","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mendhak%2Fdocker-calibre-web-cloudflared/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mendhak%2Fdocker-calibre-web-cloudflared/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mendhak%2Fdocker-calibre-web-cloudflared/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mendhak","download_url":"https://codeload.github.com/mendhak/docker-calibre-web-cloudflared/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243910814,"owners_count":20367545,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-09T18:49:58.018Z","updated_at":"2025-03-18T07:31:29.190Z","avatar_url":"https://github.com/mendhak.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"This is my setup for a public facing [Calibre Web](https://github.com/janeczku/calibre-web) server, exposed through a [Cloudflare Tunnel](https://developers.cloudflare.com/cloudflare-one/connections/connect-apps/) hosted on a Raspberry Pi.  \nIt's all contained within docker compose, so everything needed to run it is in one place. \n\n## About\n\nIn this example the domain is `mylibrary.example.com` which is a Cloudflare tunnel pointing at the nginx container which proxies to the calibre-web container.  \n\nThe nginx container sets the robots.txt and noindex tags.  It also sets proxy headers to tell the calibre-web server to use https URLs, necessary for OAuth logins. \n\nThe calibre-web container points at a `Books/` directory locally, so you'll need to sync your Calibre library to it via another mechanism.  I use Google Drive so a sample rclone script `syncbooks.sh.example` is included.\n\n\n## Setup\n\nLogin to Cloudflare first\n\n    docker run -v $PWD/cloudflared:/.cloudflared erisamoe/cloudflared login\n\nThis creates a `cloudflared` directory locally with a .pem in it, that's the login credentials needed to manage the tunnel.\n\n\nThen, start the containers. \n\n    docker-compose up -d \n\nWatch the logs as the initial start takes a few minutes\n\n    docker-compose logs -f\n\nWhen it's stopped updating, you can browse to https://mylibrary.example.com \n\n\n## Troubleshooting \n\nIf this is a new setup reusing an existing tunnel, you'll need to clear it out first.  List and delete any tunnels named mylibrary, if they exist.\n\n    docker run -v $PWD/cloudflared:/etc/cloudflared erisamoe/cloudflared tunnel list\n    docker run -v $PWD/cloudflared:/etc/cloudflared erisamoe/cloudflared tunnel delete mylibrary\n\nThen follow the setup instructions\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmendhak%2Fdocker-calibre-web-cloudflared","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmendhak%2Fdocker-calibre-web-cloudflared","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmendhak%2Fdocker-calibre-web-cloudflared/lists"}