AI

Wikiナレッジ比較:Wiki.js vs Outline vs BookStack でチームナレッジを管理する

オープンソースラボ編集部2026年6月13日

Wikiナレッジ比較:Wiki.js vs Outline vs BookStack でチームナレッジを管理する

Confluenceの月額料金・Notionのデータロック・GitHubWikiの機能不足から脱却し、セルフホストでチームのナレッジベースを構築するOSSツールが注目されています。Wiki.js(最高機能・Node.js)・Outline(Notionライク・モダンUI)・BookStack(書籍構造・シンプル)の3つが2026年のOSSナレッジ管理デファクトスタンダードです。

OSSナレッジ管理ツールを使う理由

  • データ主権: ドキュメントが自社サーバーに保管されるのでConfluenceへの依存や解約時のデータ喪失なし
  • コスト削減: Confluence($5.75/ユーザー/月)・Notion($8/ユーザー/月)→セルフホストで$10/月のVPS費用のみ
  • SSO統合: 既存のKeycloak・Google Workspace・GitHubアカウントでログイン
  • Git同期: ドキュメントをGitリポジトリと同期してPRレビュー・バージョン管理

主要ツールの概要

Wiki.js

2016年公開、Node.js製のOSSです。GitHubスター25k+。最も高機能なOSSナレッジベースで、Markdown・WYSIWYG・AsciiDoc・HTML等の複数エディター・40+の認証プロバイダー・Git同期・全文検索(Elasticsearch/Algolia/PostgreSQL)・多言語・権限グループ管理を持ちます。

# docker-compose.yml: Wiki.js + PostgreSQL
version: "3.8"
services:
  wiki:
    image: ghcr.io/requarks/wiki:2
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: ${WIKI_DB_PASS}
      DB_NAME: wiki
    depends_on: [db]

  db:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_USER: wikijs
      POSTGRES_PASSWORD: ${WIKI_DB_PASS}
    volumes:
      - wiki_pg:/var/lib/postgresql/data

volumes:
  wiki_pg:
# Python: Wiki.js GraphQL API でページを自動作成・更新
import requests
import json

WIKIJS_URL = 'http://localhost:3000'
API_KEY = 'your-wikijs-api-key'  # Wiki.js Admin→API Access

def create_page(title: str, content: str, path: str, locale: str = 'ja') -> dict:
    '''Wiki.jsにページを作成'''
    query = '''
        mutation CreatePage($content: String!, $description: String!, $editor: String!, $isPrivate: Boolean!, $isPublished: Boolean!, $locale: String!, $path: String!, $tags: [String]!, $title: String!) {
          pages {
            create(content: $content, description: $description, editor: $editor, isPrivate: $isPrivate, isPublished: $isPublished, locale: $locale, path: $path, tags: $tags, title: $title) {
              responseResult { succeeded errorCode message }
              page { id path title }
            }
          }
        }
    '''
    variables = {
        'content': content, 'description': '', 'editor': 'markdown',
        'isPrivate': False, 'isPublished': True, 'locale': locale,
        'path': path, 'tags': [], 'title': title,
    }
    resp = requests.post(
        f'{WIKIJS_URL}/graphql',
        headers={'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json'},
        json={'query': query, 'variables': variables},
    )
    return resp.json()

def sync_from_git_to_wikijs(repo_path: str, wiki_path: str):
    '''GitリポジトリのMarkdownファイルをWiki.jsに一括インポート'''
    import os
    from pathlib import Path
    for md_file in Path(repo_path).rglob('*.md'):
        relative_path = md_file.relative_to(repo_path)
        wiki_page_path = f'{wiki_path}/{relative_path.with_suffix("")}'
        content = md_file.read_text(encoding='utf-8')
        title = md_file.stem.replace('-', ' ').replace('_', ' ').title()
        result = create_page(title, content, str(wiki_page_path))
        print(f'{"✓" if result["data"]["pages"]["create"]["responseResult"]["succeeded"] else "✗"} {wiki_page_path}')

Outline

2019年公開、TypeScript製のOSSです。GitHubスター31k+。Notionライクなモダンなチームナレッジツールで、リアルタイムコラボレーション(Yjs)・スラッシュコマンド(/image/code/table)・コレクション(フォルダー)・テンプレート・Slack/GitHub/Google Drive連携が充実しています。

# docker-compose.yml: Outline + PostgreSQL + Redis
version: "3.8"
services:
  outline:
    image: outlinewiki/outline:latest
    restart: unless-stopped
    ports:
      - "3000:3000"
    environment:
      DATABASE_URL: postgres://outline:${DB_PASS}@postgres/outline
      REDIS_URL: redis://redis:6379
      URL: https://wiki.example.com
      SECRET_KEY: ${OUTLINE_SECRET_KEY}
      UTILS_SECRET: ${OUTLINE_UTILS_SECRET}
      SLACK_CLIENT_ID: ${SLACK_CLIENT_ID}
      SLACK_CLIENT_SECRET: ${SLACK_CLIENT_SECRET}
      GOOGLE_CLIENT_ID: ${GOOGLE_CLIENT_ID}
      GOOGLE_CLIENT_SECRET: ${GOOGLE_CLIENT_SECRET}
      FILE_STORAGE: s3
      AWS_S3_UPLOAD_BUCKET_NAME: ${S3_BUCKET}
      AWS_ACCESS_KEY_ID: ${S3_KEY}
      AWS_SECRET_ACCESS_KEY: ${S3_SECRET}
      AWS_REGION: ${S3_REGION}
    depends_on: [postgres, redis]

  postgres:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: outline
      POSTGRES_USER: outline
      POSTGRES_PASSWORD: ${DB_PASS}

  redis:
    image: redis:7-alpine

BookStack

2015年公開、PHP製のOSSです。GitHubスター16k+。書籍→章→ページ構造のシンプルなナレッジベースで、LaravelベースのPHPアプリとして管理が容易で、WYSIWYGエディター・PDF出力・全文検索・LDAP/SAML SSO統合が標準装備です。

# docker-compose.yml: BookStack
version: "3.8"
services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    restart: unless-stopped
    ports:
      - "6875:80"
    environment:
      APP_URL: https://docs.example.com
      DB_HOST: bookstackdb
      DB_PORT: 3306
      DB_DATABASE: bookstack
      DB_USERNAME: bookstack
      DB_PASSWORD: ${DB_PASS}
      MAIL_DRIVER: smtp
      MAIL_HOST: ${SMTP_HOST}
      MAIL_USERNAME: ${SMTP_USER}
      MAIL_PASSWORD: ${SMTP_PASS}
      LDAP_SERVER: ldap://keycloak:389  # Keycloak LDAP連携
      LDAP_BASE_DN: dc=example,dc=com
      AUTH_METHOD: ldap
    volumes:
      - bookstack_data:/config
    depends_on: [bookstackdb]

  bookstackdb:
    image: mariadb:11
    environment:
      MYSQL_DATABASE: bookstack
      MYSQL_USER: bookstack
      MYSQL_PASSWORD: ${DB_PASS}
      MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASS}
    volumes:
      - bookstack_db:/var/lib/mysql

volumes:
  bookstack_data:
  bookstack_db:

機能比較表

比較項目Wiki.jsOutlineBookStack
モダンUI✅ Notionライク
リアルタイムコラボ
Git同期
セットアップ✅ 最簡単
GitHub Stars25k+31k+16k+

ナレッジ管理ツールはナレッジカテゴリ/categories/knowledgeの中核として、セキュリティカテゴリ/categories/securityのKeycloak IdPとLDAP/SAML/OIDC統合することで社員全員のSSOログインを実現するナレッジ基盤として機能します。DevOpsカテゴリ/categories/devopsのAPI仕様書・インフラドキュメント・インシデント手順書をWiki.jsに集約して開発チームの情報共有コストを削減する導入が増えています。

FAQ

Q. Wiki.jsのGit同期でGitHubリポジトリとドキュメントを同期するには?

A. Wiki.js管理画面のStorage→GitHubを設定してdocs/フォルダーと双方向同期します。設定: ①Wiki.js Admin→Storage→GitHub②Repository: your-org/docs-repo・Branch: main・SSH PrivateKey: デプロイキーを設定③Sync Direction: Bi-Directional(双方向)→Wiki.jsで書いたページがGitにコミット・GitのMarkdownがWiki.jsに反映④Sync Interval: 5分ごとに自動同期。ユースケース: ①エンジニアはVSCodeでMarkdownを書いてGit push→Wiki.jsに反映②ビジネスメンバーはWiki.jsのUIで編集→GitHubにcommit③Pull RequestでドキュメントのレビューフローをGitで管理。

Q. OutlineでSlack連携を使ってドキュメントを検索するには?

A. Outline公式Slack Appをインストールして/outline searchコマンドを有効化します。設定: ①OutlineのSlack OAuth App設定: SLACK_CLIENT_IDSLACK_CLIENT_SECRETを環境変数に設定②Slack App管理→Slash Commands→/outline search <keyword>を登録③アウトラインのOutgoing Webhook URLを設定。使い方: Slackで/outline search データベース設計→マッチするOutlineドキュメントのリンクが返ってくる→クリックしてドキュメントを開く。通知: OutlineドキュメントにコメントがついたらSlackチャンネルに通知→ドキュメントレビューフローをSlack中心に。

Q. BookStackでLDAP(Active Directory)と連携してSSO認証するには?

A. BookStackのAUTH_METHOD=ldap設定でAD/LDAPと連携します。設定: LDAP_SERVER=ldap://your-ad-server:389LDAP_BASE_DN=DC=example,DC=comLDAP_USER_FILTER=(sAMAccountName={user})LDAP_PASS=ldap-bind-passwordLDAP_DN=CN=svc-bookstack,CN=Users,DC=example,DC=com。動作: BookStackのログイン画面でADのメールアドレス+パスワードでログイン→LDAPでAD認証→認証成功したらBookStackユーザーとして自動作成。グループ同期: LDAP_USER_TO_GROUPS=trueLDAP_GROUP_ATTRIBUTE=memberOfでADのグループ→BookStackのロールに自動マッピング(ADの「Engineering」グループ→BookStackの「Editor」ロール)。

Q. OutlineとWiki.jsのどちらを選ぶべきですか?

A. モダンUI・チームコラボ・NotionからのUI移行ならOutlineGit同期・多機能・エンジニアDocs・複数エディターならWiki.jsが向いています。Outline優位: ①Notionに近いスラッシュコマード・ブロックエディターで非エンジニアが使いやすい②リアルタイムコラボレーション(複数人同時編集)③コレクション(フォルダー)・テンプレートが洗練されている④Slack/GitHub/Google Driveとの公式統合が充実。Wiki.js優位: ①Git同期(GitHubリポジトリとdocsを双方向同期)②複数エディター対応(Markdown・WYSIWYG・AsciiDoc・HTML)③全文検索エンジンを選択可能(Elasticsearch・PostgreSQL FTS)④ページへのAPIアクセス(GraphQL)でドキュメント自動生成パイプライン構築。

まとめ

ユースケース推奨ツール
モダンUI・チームコラボ・NotionライクOutline
Git同期・複数エディター・エンジニアDocsWiki.js
書籍構造・PHP・LDAP/AD・シンプルBookStack

関連外部リソース

他の記事も読む

Let's Build Together

OSS導入、自社だけで悩まない。

ツール選定から構築・運用・AI活用まで、オープンソースラボ運営元のClasslessが伴走します。初回のご相談は無料です。