Skip to main content
50% off all plans, limited time. Starting at $2.48/mo
BookLore

BookLore

BookLore is a self-hosted ebook library manager. Calibre alternative with a clean web reader, OPDS feed, and EPUB/PDF support. Auto-fetches metadata from Google Books and Goodreads, organizes by series, and serves to mobile readers like KOReader and Aldiko.

At a glance

497

GitHub stars

55

Page views

168

Active installs

License AGPL-3.0 Version Latest OS Ubuntu Server 24.04 LTS Min RAM 2 GB IP IPV4

Active installs is sample data (staging preview); real metric wires in before launch.

Access

  1. Follow the official documentation for full setup and features: https://booklore.org/docs/getting-started
  2. Open your browser and visit: https://<SERVER_IP>
  3. A browser SSL warning is expected (self-signed certificate)
  4. It might take a few minutes for BookLore to fully come up.
  5. Create your admin account during first visit.
  6. Start building your library.

Important Directories and Files

  • /root/booklore/mariadb/config → Database configuration & metadata (critical, do not delete)
  • /root/booklore/data → Application data, cache, logs
  • /root/booklore/books → Library books storage
  • /root/booklore/bookdrop → Automatic import folder
  • /root/booklore/.env → Environment variables including database credentials
  • /root/booklore/docker-compose.yml → Container orchestration
  • /etc/nginx/ssl → TLS certificates (privkey.pem, fullchain.pem)
  • /etc/nginx/sites-available/booklore → Nginx HTTPS configuration

Notes

  • MariaDB credentials are stored in .env.
  • Do not delete mariadb/config; it contains all database metadata.
  • Place new books in /root/booklore/books or /root/booklore/bookdrop for automatic import.
  • Booklore reads and writes all metadata to mariadb/config.
  • Data is persistent across container restarts.
  • Always backup mariadb/config and books.

Enabling SSL with a Domain

1. Point your domain to the server IP.

2. Edit Nginx config and replace both server_name <IP>; with your domain (<your-domain>) for both HTTP (port 80) and HTTPS (port 443) blocks:

vim /etc/nginx/sites-available/booklore

3. Install Certbot:

apt install -y certbot python3-certbot-nginx

4. Run the following command to generate a valid Let's Encrypt certificate:

certbot certonly --nginx --non-interactive --agree-tos --email [email protected] -d yourdomain.com

5. Replace SSL paths in Nginx config:

vim /etc/nginx/sites-available/booklore
# Before:
    # ssl_certificate /etc/nginx/ssl/fullchain.pem;
    # ssl_certificate_key /etc/nginx/ssl/privkey.pem;
# After:
    # ssl_certificate /etc/letsencrypt/live/yourdomain.com/fullchain.pem;
    # ssl_certificate_key /etc/letsencrypt/live/yourdomain.com/privkey.pem;

6. Restart Nginx to apply the changes:

systemctl restart nginx

7. Open your browser and visit: https://yourdomain.com

More in File Hosting

Related apps.

Deploy BookLore now. From $2.48/mo.