⚡
SelfHostStackOpen-Source Directory

Why Migrate Away from GitBook & Confluence Docs?

GitBook charges $8–$15 per editor seat monthly and gates API access, custom domains, and analytics behind higher tiers. Atlassian Confluence Cloud costs $6–$11/user/month and has a history of aggressive price hikes (20–30% increases announced in 2023–2024). Both platforms store your documentation in proprietary schemas with limited export. Self-hosting BookStack or Outline gives your team unlimited editors, unlimited pages, and full Markdown/WYSIWYG editing at zero per-seat cost — your knowledge base lives in your PostgreSQL instance under your control, with full-text search, granular permissions, and REST API access.

Technical Architecture & Migration Analysis

Confluence Cloud runs on Atlassian's multi-tenant AWS infrastructure with proprietary storage schemas and a REST API that gates advanced features behind Premium/Enterprise tiers. GitBook uses a proprietary content API with per-seat editor pricing and gates custom domains, analytics, and API access behind the Team tier. Both platforms store your content in vendor-controlled databases with limited export options. Self-hosted alternatives use open standards: BookStack stores all content in MySQL with a simple relational schema (pages, chapters, books) and supports full-text search via MySQL FULLTEXT indexes. Outline stores rich-text content as Prosemirror JSON documents in PostgreSQL with Redis for real-time collaboration synchronization. Both provide REST APIs for integration with CI/CD pipelines and automated documentation workflows.

⚠️

When NOT to Migrate (When Staying on GitBook & Confluence Docs Makes Sense)

Self-hosting is not universally the right move. Keep paying for SaaS if your team hits any of these constraints:

  • ▸Your team relies on Atlassian's ecosystem integration (Jira, Bitbucket, Trello) with automated cross-linking and inline Jira issue previews in Confluence pages.
  • ▸You need SAML/SSO with SCIM auto-provisioning for 200+ enterprise users — Confluence Premium includes this, while self-hosted alternatives require separate identity provider setup.
  • ▸Your compliance requirements demand SOC 2 Type II or ISO 27001 certification of the documentation platform vendor — self-hosted tools shift this responsibility to your team.

Real-World Cost Comparison: GitBook & Confluence Docs vs Self-Hosted

Comparing vendor cloud billings against standard Hetzner / DigitalOcean infrastructure costs at scale.

Tier / ScaleGitBook & Confluence Docs CostSelf-Hosted VPS CostEstimated Annual SavingsTechnical Breakdown
Small Team (5 editors)
5 editors, 200 pages, basic search
$40–$75/month (GitBook Team or Confluence Standard)€3.79/month (Hetzner CX22)$430–$850/yearBookStack with unlimited editors at a flat VPS cost.
Growing Team (20 editors)
20 editors, 1,000 pages, custom domain, analytics
$160–$300/month (GitBook Team or Confluence Standard)€7.09/month (Hetzner CX32 for Outline with Redis)$1,800–$3,500/yearOutline with real-time collaboration for 20 editors at a flat rate.
Enterprise (100+ editors)
100 editors, 5,000+ pages, SAML SSO, audit logs
$800–$1,500/month (Confluence Premium or GitBook Enterprise)€14.28/month (Hetzner CPX31 + Keycloak for SAML)$9,400–$17,800/yearSelf-hosted Outline + Authentik for SSO replaces Confluence Premium at 1% of the cost.

Top 2 Recommended Open-Source Replacements

Tested, self-contained, and production-ready. Click any tool to inspect verified docker-compose configurations, hardware sizing, and deployment guides.

BookStack

MIT⭐ 16.2k+

Opinionated, hierarchical wiki with Books > Chapters > Pages structure — purpose-built for team documentation.

Min RAM512 MB
Min CPU1 vCPU
GitHub Repo ↗

✅ Advantages

  • Extremely simple to deploy — two Docker containers with no Redis or queue workers
  • MIT license with zero feature gates — all features available in the free version
  • 16.2k+ GitHub stars with consistent monthly releases and active maintenance

⚠️ Trade-offs / Limitations

  • No real-time collaborative editing — page locking prevents concurrent edits
  • No native Git sync for docs-as-code workflows (requires custom API integration)
  • Basic permission model compared to Confluence's space-level and page-level restrictions

Core Features

▸Hierarchical Book > Chapter > Page organization for intuitive documentation structure
▸Built-in WYSIWYG editor with Markdown mode toggle
▸Full-text search with MySQL FULLTEXT or Elasticsearch backend
▸Granular role-based permissions (editor, viewer, commenter) at book and page level
▸Multi-language UI support (30+ languages) out of the box
▸Image management with drag-and-drop upload and inline editing
▸API and webhooks for CI/CD documentation pipeline integration

Architecture Notes

Laravel PHP 8.x application with Blade templates and a MySQL/MariaDB backend. Simple two-container architecture (app + DB). Full-text search via native MySQL FULLTEXT indexes or optional Elasticsearch. WYSIWYG and Markdown editor modes available per user preference.

Known Limitations

No real-time collaborative editing (multiple users cannot edit the same page simultaneously). Lacks Git-sync functionality for docs-as-code workflows. The WYSIWYG editor can produce messy HTML when pasting from rich-text sources.

Official Documentation ↗
📄 docker-compose.yml
Production Ready
version: '3.8'
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    restart: always
    ports:
      - "6875:80"
    environment:
      PUID: 1000
      PGID: 1000
      APP_URL: https://wiki.yourdomain.com
      DB_HOST: bookstack-db
      DB_PORT: 3306
      DB_DATABASE: bookstackapp
      DB_USERNAME: bookstack
      DB_PASSWORD: secure_bookstack_pass_2026
      MAIL_DRIVER: smtp
      MAIL_HOST: mail.yourdomain.com
      MAIL_PORT: 587
      MAIL_ENCRYPTION: tls
      MAIL_FROM: wiki@yourdomain.com
      MAIL_FROM_NAME: BookStack
    volumes:
      - bookstack_data:/config
    depends_on:
      - bookstack-db
    networks:
      - selfhost_net

  bookstack-db:
    image: mariadb:10.11
    container_name: bookstack-db
    restart: always
    environment:
      MYSQL_ROOT_PASSWORD: root_bookstack_pass_2026
      MYSQL_DATABASE: bookstackapp
      MYSQL_USER: bookstack
      MYSQL_PASSWORD: secure_bookstack_pass_2026
    volumes:
      - bookstack_db_data:/var/lib/mysql
    networks:
      - selfhost_net
volumes:
  bookstack_data:
  bookstack_db_data:

🚀 5-Minute Deployment Guide

  1. 1Provision a $3.79/mo Hetzner CX22 VPS with Ubuntu 24.04.
  2. 2Install Docker & Docker Compose: `curl -fsSL https://get.docker.com | sh`.
  3. 3Create directory: `mkdir -p /opt/bookstack && cd /opt/bookstack`.
  4. 4Save docker-compose.yml with a strong DB password.
  5. 5Run `docker compose up -d` and wait 30 seconds for DB initialization.
  6. 6Access the web UI at http://YOUR_VPS_IP:6875 with default credentials (admin@admin.com / password).
  7. 7Change admin password immediately and configure SMTP for email invitations.
  8. 8Set up Caddy reverse proxy for HTTPS on wiki.yourdomain.com.

Recommended Cloud VPS for BookStack

Compare all VPS hosts →
Hetzner Cloud€3.79/mo

CX22 (2 vCPU, 4GB RAM, 40GB NVMe)

Handles 20+ concurrent editors with full-text search.

Deploy on Hetzner →
DigitalOcean$6.00/mo

Basic Droplet (1 vCPU, 1GB RAM)

Sufficient for small teams with under 500 pages.

Claim $200 DO Credit →

Outline

BSL-1.1⭐ 28.4k+

Beautiful, Notion-like collaborative knowledge base with real-time editing, Slack integration, and Markdown-native storage.

Min RAM1024 MB
Min CPU1 vCPU
GitHub Repo ↗

✅ Advantages

  • 28.4k+ GitHub stars — one of the most popular knowledge base projects
  • Beautiful, modern UI that rivals Notion and Confluence in usability
  • Real-time collaborative editing — multiple users can edit the same document simultaneously

⚠️ Trade-offs / Limitations

  • Requires an external OIDC provider (Keycloak, Authentik) — no built-in username/password auth
  • BSL-1.1 license restricts commercial SaaS redistribution (fine for internal use)
  • Higher RAM requirement (1GB+) due to Redis and Node.js runtime

Core Features

▸Real-time collaborative editing with operational transform (OT) conflict resolution
▸Native Markdown import/export with Notion-style block editing
▸Collection-based organization with granular read/write permissions
▸Native Slack integration for sharing and searching docs from Slack channels
▸Full-text search with fast PostgreSQL ts_vector indexing
▸API-first design with comprehensive REST API for integrations
▸S3-compatible file attachment storage for images and documents

Architecture Notes

Node.js/TypeScript application with React frontend, using PostgreSQL for content storage and Redis for real-time collaboration and caching. Supports S3-compatible object storage for file attachments. Uses Prosemirror for rich-text collaborative editing with operational transform (OT) for concurrent editing.

Known Limitations

BSL-1.1 license restricts commercial competing SaaS offerings (free for internal use). Requires an OIDC or SAML identity provider for authentication — no built-in username/password login. Real-time collaboration requires Redis and adds RAM overhead.

Official Documentation ↗
📄 docker-compose.yml
Production Ready
version: '3.8'
services:
  outline:
    image: docker.getoutline.com/outlinewiki/outline:latest
    container_name: outline
    restart: always
    ports:
      - "3000:3000"
    environment:
      NODE_ENV: production
      SECRET_KEY: generate_64_char_secret_key_here
      UTILS_SECRET: generate_64_char_utils_secret_here
      DATABASE_URL: postgres://outline:outline_pass@outline-db:5432/outline
      REDIS_URL: redis://outline-redis:6379
      URL: https://wiki.yourdomain.com
      PORT: 3000
      FILE_STORAGE: s3
      AWS_ACCESS_KEY_ID: your_s3_access_key
      AWS_SECRET_ACCESS_KEY: your_s3_secret_key
      AWS_REGION: us-east-1
      AWS_S3_UPLOAD_BUCKET_URL: https://your-bucket.s3.amazonaws.com
      AWS_S3_UPLOAD_BUCKET_NAME: your-outline-bucket
      AWS_S3_FORCE_PATH_STYLE: "true"
      AWS_S3_ACL: private
    depends_on:
      - outline-db
      - outline-redis
    networks:
      - selfhost_net

  outline-redis:
    image: redis:7-alpine
    container_name: outline-redis
    restart: always
    networks:
      - selfhost_net

  outline-db:
    image: postgres:16-alpine
    container_name: outline-db
    restart: always
    environment:
      POSTGRES_DB: outline
      POSTGRES_USER: outline
      POSTGRES_PASSWORD: outline_pass
    volumes:
      - outline_db_data:/var/lib/postgresql/data
    networks:
      - selfhost_net

volumes:
  outline_db_data:

🚀 5-Minute Deployment Guide

  1. 1Provision a $7.09/mo Hetzner CX32 VPS with Ubuntu 24.04 (4GB RAM recommended).
  2. 2Install Docker & Docker Compose: `curl -fsSL https://get.docker.com | sh`.
  3. 3Set up a MinIO or S3 bucket for file attachments.
  4. 4Set up an OIDC identity provider (e.g. Authentik or Keycloak) for user authentication.
  5. 5Create directory: `mkdir -p /opt/outline && cd /opt/outline`.
  6. 6Generate secrets: `openssl rand -base64 48` for SECRET_KEY and UTILS_SECRET.
  7. 7Save docker-compose.yml with all environment variables and run `docker compose up -d`.
  8. 8Configure Caddy reverse proxy for HTTPS on wiki.yourdomain.com.

Recommended Cloud VPS for Outline

Compare all VPS hosts →
Hetzner Cloud€7.09/mo

CX32 (4 vCPU, 8GB RAM, 80GB NVMe)

Recommended for Outline due to Redis and Node.js memory needs.

Deploy on Hetzner →
DigitalOcean$24.00/mo

Premium Droplet (2 vCPU, 4GB RAM)

Good for teams needing low-latency US-East access.

Claim $200 DO Credit →

Quick Specification Matrix

ToolLicenseMin RAMMin CPUGitHub RepoPrimary Advantage
GitBook & Confluence Docs (Proprietary)Proprietary ClosedManaged CloudManaged CloudN/ATurnkey onboarding with vendor lock-in & paywalls
BookStackMIT512 MB1 vCPUBookStackApp/BookStackExtremely simple to deploy — two Docker containers with no Redis or queue workers
OutlineBSL-1.11024 MB1 vCPUoutline/outline28.4k+ GitHub stars — one of the most popular knowledge base projects

Performance Benchmarks & Hard Operational Limits

Real-world operational trade-offs, resource consumption limits, and measured throughput.

Benchmark MetricGitBook & Confluence Docs BaselineSelf-Hosted Alternative MetricOperational Bottleneck / LimitSource
Page Load Latency (Cold Start)1,200–3,000ms (Confluence Cloud initial page load)200–600ms (BookStack on NVMe VPS)TTFB depends on geographic distance to the VPS and database query complexity.BookStack Performance Docs
Full-Text Search Latency (10,000 pages)300–800ms (Confluence Cloud search)50–200ms (BookStack MySQL FULLTEXT or Outline PostgreSQL ts_vector)Search index rebuild time after bulk page imports.Production Test
Concurrent Collaborative Editors (Same Page)50+ (Confluence Cloud real-time)10–20 (Outline OT via Redis)Redis pub/sub throughput and OT conflict resolution overhead.Production Test

Frequently Asked Questions

Practical deployment, migration, and maintenance answers.

Can BookStack or Outline replace Confluence for a 50-person engineering team?▾

Yes. BookStack handles 50+ concurrent editors well on a single VPS, with role-based permissions for different team groups. Outline supports real-time collaborative editing, which is closer to Confluence's editing experience. The main gap is Atlassian ecosystem integration (Jira/Bitbucket links) — you'll need to use direct URLs instead of embedded issue previews.

Does Outline require a separate identity provider (OIDC)?▾

Yes. Outline does not support username/password authentication natively — it requires an OIDC provider for user authentication. Popular self-hosted options include Authentik, Keycloak, or Casdoor. This adds an extra container to your stack but provides SSO across all your self-hosted tools.

Can I import existing Confluence pages into BookStack?▾

Yes. BookStack supports XML import from Confluence exports. Export your Confluence space as XML (Space Settings > Content Tools > Export), then import via BookStack's built-in import tool. For large spaces, the import may take several minutes depending on page count and attachment sizes.

How do permissions work in BookStack vs Confluence?▾

BookStack supports three permission levels: Owner, Editor, and Viewer, assignable at the Book, Chapter, or Page level. Confluence offers Space-level and Page-level permissions with more granular control (e.g. restrict to specific user groups). BookStack's model is simpler but covers 90% of team documentation use cases.

Is Outline's BSL-1.1 license a problem for internal company use?▾

No. BSL-1.1 allows free use for any purpose, including commercial internal use, for the first 4 years. The restriction only applies to offering Outline as a competing hosted SaaS service. Your team can use Outline internally without any license concerns.

Can I sync BookStack documentation with Git for version control?▾

BookStack does not have native Git sync, but you can use the REST API to build a custom sync pipeline. Several community projects (e.g. bookstack-export) export BookStack pages to Markdown files in a Git repository. For docs-as-code workflows, Outline's Markdown-native export makes Git syncing more straightforward.

Starter Stack Pack — $29

Skip the setup: get the production-ready stack

Don't stitch together configs from five different READMEs. Get all 5 production-hardened Docker Compose stacks — Postgres, Redis, SSL auto-renewal, and backup scripts — ready to deploy in minutes.

⚡n8nVisual workflow automation
📊UmamiPrivacy-first web analytics
🛡️Uptime KumaUptime monitoring & alerts
🔐VaultwardenBitwarden-compatible vault
☁️NextcloudDropbox/Drive replacement
Get the Stack Pack — $29 →

One-time purchase · Instant download · Production-ready

esc
↑↓ navigate↵ open