What is this?

Booko-DAV is a play on "books", KOReader and WebDAV.

It is primarily designed to be a WebDAV server to transfer and store books between your PC, phone, and e-reader (in my case a jailbroken Kindle). It is self-hostable and mostly free (10GB to be exact). See Pricing.

Why is this?

For fun. There are more WebDAV services out there, but I wanted to create my own version specifically geared towards the ebook community, with easy deployment and low cost.

How to use this?

Requirements: A Cloudflare account, a GitHub account, a mobile device or PC, and a credit card.

* Note: All links below open in new tabs for convenience *

  1. Set Up Cloudflare Account
    • Go to Cloudflare Dashboard and create an account (Google Sign-In available). If you have an account, log in.
    • In your dashboard sidebar, go to R2 Object Storage. Complete billing details and submit.
    • Under R2 Object Storage, click + Create Bucket
    • Name your bucket bookodav (case-sensitive)
    • bucket example
    • Keep default options and create bucket.
    • Go to API Tokens via profile menu.
    • Click Create Token and select Edit Cloudflare Workers template.
    • Select your account in dropdown under Account Resources and All Zones under Zone Resources.
    • token example
    • Create token and save it. Save your Account ID from dashboard URL (https://dash.cloudflare.com/{AccountId}/home).
  2. GitHub Account
    • Create/login to GitHub
    • Visit repository
    • Fork it by clicking this
    • fork
    • Go to settings => secrets & variables => actions
    • Click on new repository secret
    • secret
    • add name as CF_API_TOKEN
    • in the Secret * section paste in the api key you created earlier, click Add Secret
    • go to actions and enable workflows
    • actions
    • go to deploy and click run wrokflows
    • workflow
    • if you click on actions again you should see this
    • workflow done
  3. Access
    • In Cloudflare Dashboard, go to Compute → Workers → bookodav-worker.
    • acess
    • Under Settings → Variables, Select Type as SECRET, add USERNAME and PASSWORD (case-sensitive) and deploy.
    • username
    • password
    • Find your access URL at workers.dev domain (e.g., bookodav-worker.username.workers.dev/dav).
    • acess

Important Links

  1. Cloudflare Dashboard

    Monitor storage, requests, and billing. Preferred over built-in docs table.

  2. Cloudflare R2 Pricing

    10GB free storage. Heavy caching reduces bills but may cause minor inconsistencies.

  3. Cloudflare Workers Pricing

    100,000 daily requests included (uploads, downloads, deletes).

  4. Booko-DAV uses Cloudflare Workers technology. Learn more about Workers.