Layer 5 · self-hosting reality check
What it actually takes to self-host BookStack
The docs say 1 GB. The vendor says it "can easily be ran on a 1GB RAM VM".. In practice you want 2 GB with MySQL on the same box for a team. A report on BookStack's GitHub describes normal speed on a 2 GB, 1 vCPU x86 VM.. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Confluence alternatives, where BookStack is one of the picks.
Wondering whether you need to at all? Is Confluence free? — what the free tier actually allows, and where the wall is.
| RAM — documented minimum | 1 GB. The vendor says it "can easily be ran on a 1GB RAM VM". |
|---|---|
| RAM — what it really needs | 2 GB with MySQL on the same box for a team. A report on BookStack's GitHub describes normal speed on a 2 GB, 1 vCPU x86 VM. |
| CPU | 1 vCPU, x86 preferred. The same GitHub report found 500–700 ms page loads on a Raspberry Pi 4 (ARM64). |
| Disk | A few GB for the app and database, plus uploaded images (public/uploads) and page attachments (storage/uploads). |
| Monthly cost | $6–12/mo on a 1–2 GB VPS |
| Setup time | 30 minutes with the official Ubuntu script on a fresh VM, 1–2 hours by hand. |
| How you install it | The official install script for a fresh Ubuntu 22.04, 24.04 or 26.04 (Apache, MySQL, PHP), or a manual git + Composer install. Docker images exist but are community-maintained (LinuxServer.io, solidnerd), not official. |
| Ongoing maintenance | Run `git pull origin release`, `composer install --no-dev` and `php artisan migrate`, after backing up the database and uploads. Releases come often and are often security-related (v26.05.4 to v26.09.1 in five weeks), and the minimum PHP version rises over time (8.2 since v25.02). |
| Where it stops scaling | A company wiki on one box. The vendor says resource use scales with activity. Past that, move MySQL to its own host and put cache and sessions on Redis or Memcached; both are documented. |
The thing that catches people out
BookStack stores absolute URLs, including your domain, in the database for things like images. If you start on an IP address or a temporary hostname and later move to your real HTTPS domain, images and links break across every page. The fix is `php artisan bookstack:update-url <old> <new>`, plus editing APP_URL in .env by hand, because the command does not touch it. Settle the final HTTPS URL before anyone writes a page. When you restore a backup, keep the old APP_KEY, because a new one breaks multi-factor authentication.
When not to self-host BookStack
You want Notion-style free nesting or docs-as-code in Git. BookStack's structure is fixed at shelves, books, chapters and pages, and content lives in MySQL rather than in Markdown files. Wiki.js or Outline fit those needs better.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 5 self-hosting guides
- Self-hosting LibreOffice2 GB with a large spreadsheet open
- Self-hosting ONLYOFFICE6 GB for the Document Server with a handful of concurrent editors
- Self-hosting Collabora Online4 GB, and roughly 1 GB per 20 concurrent documents
- Self-hosting CryptPad2 GB for a small instance
- Self-hosting Mattermost4 GB for a team of 50 with PostgreSQL on the same box
- Self-hosting Rocket.Chat6 GB with MongoDB on the same machine
Common questions
- How much RAM does BookStack actually need?
- 2 GB with MySQL on the same box for a team. A report on BookStack's GitHub describes normal speed on a 2 GB, 1 vCPU x86 VM. in practice. The documented minimum is 1 GB. The vendor says it "can easily be ran on a 1GB RAM VM"., which is the figure at which the process starts rather than the figure at which it works under real use. 1 vCPU, x86 preferred. The same GitHub report found 500–700 ms page loads on a Raspberry Pi 4 (ARM64). alongside it.
- What does self-hosting BookStack cost per month?
- $6–12/mo on a 1–2 GB VPS This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for run `git pull origin release`, `composer install --no-dev` and `php artisan migrate`, after backing up the database and uploads. Releases come often and are often security-related (v26.05.4 to v26.09.1 in five weeks), and the minimum PHP version rises over time (8.2 since v25.02).
- How long does it take to set up BookStack?
- 30 minutes with the official Ubuntu script on a fresh VM, 1–2 hours by hand., via The official install script for a fresh Ubuntu 22.04, 24.04 or 26.04 (Apache, MySQL, PHP), or a manual git + Composer install. Docker images exist but are community-maintained (LinuxServer.io, solidnerd), not official..
- When should I NOT self-host BookStack?
- You want Notion-style free nesting or docs-as-code in Git. BookStack's structure is fixed at shelves, books, chapters and pages, and content lives in MySQL rather than in Markdown files. Wiki.js or Outline fit those needs better.
- What is the most common mistake when self-hosting BookStack?
- BookStack stores absolute URLs, including your domain, in the database for things like images. If you start on an IP address or a temporary hostname and later move to your real HTTPS domain, images and links break across every page. The fix is `php artisan bookstack:update-url <old> <new>`, plus editing APP_URL in .env by hand, because the command does not touch it. Settle the final HTTPS URL before anyone writes a page. When you restore a backup, keep the old APP_KEY, because a new one breaks multi-factor authentication.