Access
- Follow the official documentation for full setup and features:
https://booklore.org/docs/getting-started - Open your browser and visit:
https://<SERVER_IP> - A browser SSL warning is expected (self-signed certificate)
- It might take a few minutes for BookLore to fully come up.
- Create your admin account during first visit.
- 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/booksor/root/booklore/bookdropfor automatic import. - Booklore reads and writes all metadata to
mariadb/config. - Data is persistent across container restarts.
- Always backup
mariadb/configandbooks.
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 youremail@example.com -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