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.js | Outline | BookStack |
|---|---|---|---|
| モダンUI | 中 | ✅ Notionライク | 中 |
| リアルタイムコラボ | △ | ✅ | △ |
| Git同期 | ✅ | △ | ❌ |
| セットアップ | 中 | 中 | ✅ 最簡単 |
| GitHub Stars | 25k+ | 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_ID・SLACK_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:389・LDAP_BASE_DN=DC=example,DC=com・LDAP_USER_FILTER=(sAMAccountName={user})・LDAP_PASS=ldap-bind-password・LDAP_DN=CN=svc-bookstack,CN=Users,DC=example,DC=com。動作: BookStackのログイン画面でADのメールアドレス+パスワードでログイン→LDAPでAD認証→認証成功したらBookStackユーザーとして自動作成。グループ同期: LDAP_USER_TO_GROUPS=true・LDAP_GROUP_ATTRIBUTE=memberOfでADのグループ→BookStackのロールに自動マッピング(ADの「Engineering」グループ→BookStackの「Editor」ロール)。
Q. OutlineとWiki.jsのどちらを選ぶべきですか?
A. モダンUI・チームコラボ・NotionからのUI移行ならOutline、Git同期・多機能・エンジニア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同期・複数エディター・エンジニアDocs | Wiki.js |
| 書籍構造・PHP・LDAP/AD・シンプル | BookStack |