← All articles
white and blue printer paper

Outline vs BookStack: Choosing a Self-Hosted Wiki

Productivity 2026-03-04 · 3 min read outline bookstack wiki knowledge base self-hosted docker documentation open-source
By Selfhosted Guides Editorial TeamSelf-hosting practitioners covering open source software, home lab infrastructure, and data sovereignty.

Team wikis are critical infrastructure for any organization storing documentation, runbooks, policies, and reference material. Two self-hosted options dominate: Outline (modern block editor, real-time collaboration, Notion-like) and BookStack (structured book/chapter/page hierarchy, simpler, longer track record). Both are excellent; the choice depends on your team's preferences.

Photo by Shiromani Kant on Unsplash

Outline

Outline is a modern wiki that feels closest to Notion among self-hosted options. The editor uses a block-based, keyboard-first approach. Real-time collaboration lets multiple people edit the same document simultaneously.

Key features:

Deployment (requires Redis, PostgreSQL, and an S3-compatible object store):

services:
  outline:
    image: outlinewiki/outline:latest
    restart: always
    environment:
      NODE_ENV: production
      SECRET_KEY: change-this-to-64-char-hex
      UTILS_SECRET: change-this-too
      DATABASE_URL: postgres://outline:password@outline-db/outline
      REDIS_URL: redis://outline-redis:6379
      URL: https://wiki.yourdomain.com
      PORT: 3000
      # S3 for file attachments
      AWS_ACCESS_KEY_ID: your-key-id
      AWS_SECRET_ACCESS_KEY: your-secret
      AWS_REGION: us-east-1
      AWS_S3_UPLOAD_BUCKET_NAME: outline-bucket
      AWS_S3_UPLOAD_BUCKET_URL: https://your-minio:9000
      # Authentication (Slack, Google, or custom)
      SLACK_CLIENT_ID: ...
      SLACK_CLIENT_SECRET: ...
    ports:
      - 3000:3000
    depends_on:
      - outline-db
      - outline-redis

  outline-db:
    image: postgres:15
    environment:
      POSTGRES_USER: outline
      POSTGRES_PASSWORD: password
      POSTGRES_DB: outline
    volumes:
      - outline-db:/var/lib/postgresql/data

  outline-redis:
    image: redis:7-alpine

volumes:
  outline-db:

Outline requires an S3-compatible object store (AWS S3, MinIO, Cloudflare R2) for file attachments and images. MinIO is commonly used for fully self-hosted setups.

Authentication: Outline requires an OAuth2 provider — it doesn't have built-in email/password authentication (community edition). Options: Slack, Google, GitHub, Azure AD, or any OIDC provider (Authentik, Keycloak).

This extra setup complexity is Outline's main drawback.

BookStack

BookStack has a more opinionated structure: Books → Chapters → Pages. Every page lives within a chapter, which lives within a book. This hierarchy encourages well-organized documentation.

Key features:

Deployment (simpler than Outline):

services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    restart: unless-stopped
    environment:
      PUID: 1000
      PGID: 1000
      TZ: America/Los_Angeles
      APP_URL: https://wiki.yourdomain.com
      APP_KEY: change-this-32-char-key
      DB_HOST: bookstack-db
      DB_PORT: 3306
      DB_USERNAME: bookstack
      DB_PASSWORD: change-this
      DB_DATABASE: bookstack
      # Email
      MAIL_DRIVER: smtp
      MAIL_HOST: smtp.example.com
      MAIL_PORT: 587
      MAIL_FROM: [email protected]
    ports:
      - 6875:80
    volumes:
      - ./bookstack-data:/config
    depends_on:
      - bookstack-db

  bookstack-db:
    image: lscr.io/linuxserver/mariadb:latest
    environment:
      PUID: 1000
      PGID: 1000
      MYSQL_ROOT_PASSWORD: root-password
      MYSQL_DATABASE: bookstack
      MYSQL_USER: bookstack
      MYSQL_PASSWORD: change-this
    volumes:
      - ./bookstack-db:/config

BookStack includes its own authentication with email/password — no external OAuth2 provider required. This simplifies initial setup significantly.

Comparison

Feature Outline BookStack
Editor style Block/Notion-like Rich text + Markdown
Real-time collab
Authentication OAuth2 required Built-in email/password
Structure Collections + nested docs Books / Chapters / Pages
S3 requirement Yes No
Drawing.io Via embed Built-in
API
Resource usage Higher (Node.js) Lower (PHP)
Setup complexity Higher Lower

Which to Choose

Choose Outline if:

Choose BookStack if:

Both are excellent. For homelabs without existing OAuth2 infrastructure: BookStack is the faster path to a working wiki. For teams already using Slack/Google: Outline provides a better collaborative experience.

Alternative: Wiki.js

For completeness: Wiki.js is a third strong option. More complex than BookStack, supports more authentication methods than Outline, includes a git-backed storage option. Worth evaluating if neither Outline nor BookStack is a perfect fit.

Get free weekly tips in your inbox. Subscribe to Self-Hosted Weekly