# BookStack

BookStack is a documentation platform built around a structure everyone already understands: **shelves** hold **books**, books hold **chapters**, chapters hold **pages**. That hierarchy is the whole reason people pick it. A flat pile of markdown files needs discipline to stay navigable; BookStack gives the structure to you up front and makes it hard to lose things.

It ships a WYSIWYG editor alongside a markdown one, so contributors who don't write markdown can still contribute. Full-text search covers everything, pages keep a revision history you can diff and revert, and permissions can be set per shelf, book, chapter, or page.

Good fits: a team handbook, a homelab runbook, a game world's lore bible, a customer-facing knowledge base, or the documentation for a project whose contributors won't touch Git.

[Get a 7-day trial of ElfHosted BookStack! 🪄](<https://store.elfhosted.com/product/bookstack/>)

## How do I access BookStack?

BookStack is available:

- From your dashboard: [https://your-username.elfhosted.com](<https://your-username.elfhosted.com>)
- Directly: [https://your-username-bookstack.elfhosted.com](<https://your-username-bookstack.elfhosted.com>)

> [!NOTE]
>
> **Signed-in users see their own URLs**
>
> The addresses above show the general pattern. [Sign in](<https://docs-internal.elfhosted.com/app/bookstack/>) and these become your personal, clickable links.

## How do I use it?

### First run

BookStack sets up its database on first start, so give it a minute or two before the page loads. Sign in with the default administrator account:

- **Email:** `admin@admin.com`
- **Password:** `password`

**Change both immediately** under **Edit Profile**. Your instance sits behind ElfHosted's SSO by default, so this isn't an open door, but it becomes one the moment you turn SSO off (see below).

### Structure

Start with a shelf per broad area, a book per topic, and let chapters appear as books grow. You don't have to use every level: pages can live directly in a book. Resist the urge to design the whole tree up front, because moving pages later is a drag-and-drop and costs nothing.

### Sharing it with people who don't have ElfHosted accounts

By default BookStack is behind ElfHosted's SSO (*ForwardAuth*), so its own login is a second layer on top and only you can reach it.

If you want to publish your documentation, or share it with collaborators who aren't ElfHosted customers, use [ElfBot](<https://docs-internal.elfhosted.com/app/elfbot/>) to set `bookstackexposed.enabled: true`. That drops the ElfHosted auth layer entirely and leaves BookStack's own login and permission system in charge.

Before you do that:

1. Change the default admin credentials, if you somehow still haven't.
2. Decide what anonymous visitors should see. **Settings → Registration** controls whether the public can read without an account, and whether they can sign themselves up. Public read with self-registration **off** is the usual answer.
3. Set per-shelf and per-book permissions for anything that shouldn't be public.

### Importing what you already have

BookStack imports markdown and HTML directly into pages, so a pile of existing notes can be pasted in with formatting intact. There's also a [full REST API](<https://demo.bookstackapp.com/api/docs>) if you'd rather script a bulk migration than click through it.

### Attachments and images

Uploads land on your instance's storage and are backed up along with everything else. Large image-heavy books are fine; the page editor handles paste-from-clipboard.

### BookStack or Wiki.js?

They solve overlapping problems differently, and plenty of people run both:

- **BookStack** gives you the structure up front, is WYSIWYG-first, and has no Git. Best when the contributors are not all developers.
- **[Wiki.js](</app/wikijs/>)** is markdown-native, Git-backed, and flexible about hierarchy. Best when the docs live alongside code and you want them in version control.

## BookStack also works with

- [x] [WikiJS](</app/wikijs/>)
- [x] [FoundryVTT](</app/foundryvtt/>)

## How do I get support for BookStack?

1. For general use of BookStack, refer to the [official site](<https://www.bookstackapp.com/>) or to one of the links in the resources section below.
2. For specific support re your ElfHosted configuration / account, see the [ElfHosted support options](</get-help/>)!

## Sponsor BookStack ❤️

You can contribute directly to the development of BookStack using the following:

- [GitHub Sponsors](<https://github.com/sponsors/ssddanbrown>)

## BookStack resources

- [BookStack (*official site*)](<https://www.bookstackapp.com/>)
- [BookStack GitHub](<https://github.com/BookStackApp/BookStack>)
- [BookStack Documentation](<https://www.bookstackapp.com/docs/>)
