Deploy BookStack
Before using the one-click template, here is a minimal Docker Compose file for running BookStack locally.
If you're new to Docker Compose, check out our guide on how to self-host a Docker Compose app. You can also browse more examples in our Docker Compose library.
Self-host BookStack with Docker Compose (minimal)
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
ports:
- "8080:80"
environment:
PUID: "1000"
PGID: "1000"
TZ: "UTC"
DB_HOST: db
DB_USER: bookstack
DB_PASS: bookstack
DB_DATABASE: bookstack
volumes:
- bookstack-config:/config
db:
image: mysql:8
environment:
MYSQL_ROOT_PASSWORD: rootpass
MYSQL_DATABASE: bookstack
MYSQL_USER: bookstack
MYSQL_PASSWORD: bookstack
volumes:
- db-data:/var/lib/mysql
volumes:
bookstack-config:
db-data:
Deploy BookStack on Hostim.dev (One-Click)
BookStack is a self-hosted wiki platform designed for storing and organizing information. It provides a pleasant and simple out-of-the-box experience with advanced features for power users. With Hostim.dev, you can deploy BookStack in one click – fully preconfigured with MySQL, volumes, and HTTPS.
📚 Create, organize, and share documentation – no infrastructure setup needed.
Guest project runs for 1 hour. Log in to save and extend to 5 days.
Why Host BookStack on Hostim.dev?
- One-click Docker deployment
- Built-in MySQL database
- Persistent storage
- Automatic HTTPS
- Real-time logs & metrics
What's included
| Resource | Details |
|---|---|
| App | lscr.io/linuxserver/bookstack image |
| Database | MySQL (auto-provisioned) |
| Volume | /config |
| Domain | Free *.hostim.dev subdomain |
| SSL | Let’s Encrypt (auto-enabled) |
| Port | 80 |
| Defaults | Username: admin@admin.com, Password: password |
How to Deploy
- Go to your Hostim.dev dashboard.
- Click Create Project → Use a Template.
- Select the BookStack template.
- Choose a resource plan.
- Hit Deploy.
Post-Deploy Notes
- Change your password immediately at
/my-account/auth - Add a custom domain under Networking
- View logs and metrics in the App panel
- BookStack supports SAML, OAuth, and optional 2FA
FAQ
Which database does BookStack require?
BookStack supports MySQL and MariaDB. The Hostim template auto-provisions a MySQL instance.
Where are BookStack files stored?
The application stores configuration, uploads, and logs in the
/config
directory, backed by a persistent volume.
How do I back up my BookStack instance?
Back up the /config volume and export your MySQL database via the
Bastion host.
How do I reset the admin password?
Use the “Forgot password” flow or update the user record directly in MySQL.
Can I enable LDAP or OAuth login?
Yes. BookStack supports LDAP, SAML2, OAuth2, and external authentication providers.
Why can't I upload images?
Ensure the volume is correctly mounted and the app container has write permissions
to /config/uploads.
How do I update BookStack?
Docker Compose: docker compose pull && docker compose up -d
Hostim.dev: redeploy the app.
Does BookStack work behind a reverse proxy?
Yes. Ensure the APP_URL environment variable matches your final HTTPS
URL.
Why are images or pages not loading?
Incorrect APP_URL or missing volume permissions are the most common
causes.
Alternatives
- Wiki.js — modern Node-based wiki
- MediaWiki — classic, highly extensible wiki
- HedgeDoc — collaborative markdown editor
Source + Docs
- GitHub: BookStackApp/BookStack
- Official Docs: bookstackapp.com/docs
- Demo: demo.bookstackapp.com
- Discord: Community Server
Looking for something else? Browse all templates →