結論(おすすめ1つ)
乗り換え先は Outline 一択です。
Markdownネイティブ・セルフホスト対応・REST API標準装備の三拍子が揃っており、Notionで感じる「読み込みが重い」「データを外に出したくない」「Git連携できない」という不満をまとめて解消できます。GitHub/GitLab OAuth でのSSO、Slack通知、Webhook連携が無設定に近い状態で動くため、既存の開発フローへの接続コストが最も低いツールです。GitBook はドキュメントサイト寄り、Confluence は独自記法の移行コストが高く、Obsidian はチーム共有の設計が後付けです。スタートアップ〜中規模開発チームのナレッジベースとしてOutlineが最適解と判断しています。
比較表(料金/無料枠/移行コスト/対応言語)
| ツール | 料金 | 無料枠 | 移行コスト | Markdownサポート | セルフホスト |
|---|---|---|---|---|---|
| Outline | 公式の料金ページで要確認 | セルフホスト版は無料 | 低(Notion MD importに対応) | ネイティブ | ○ |
| GitBook | 公式の料金ページで要確認 | 個人・OSS向けプランあり | 中(MD対応だが構造変換が必要) | ネイティブ | Enterprise のみ |
| Confluence | 公式の料金ページで要確認 | 小規模チーム向け無料枠あり | 高(独自記法、マクロ依存) | 限定的(変換プラグイン要) | ○(Data Center) |
| Obsidian | 公式の料金ページで要確認 | ローカル利用は個人無料 | 低(ファイルをVaultに置くだけ) | ネイティブ | ファイルシステム |
| Nuclino | 公式の料金ページで要確認 | 無料枠あり(制限付き) | 中(エクスポート→再構成が必要) | 対応 | × |
移行手順
Step 1 — Notionからエクスポート
Notionの Settings → Export → "Markdown & CSV" を選択してZIPをダウンロードする。
unzip Notion_Export_*.zip -d ./notion-export
ls ./notion-export
Step 2 — Outlineをセルフホスト(Docker Compose)
# docker-compose.yml
version: "3"
services:
outline:
image: outlinewiki/outline:latest
env_file: .env
ports:
- "3000:3000"
depends_on:
- postgres
- redis
postgres:
image: postgres:15
environment:
POSTGRES_DB: outline
POSTGRES_USER: outline
POSTGRES_PASSWORD: change_me
volumes:
- pg_data:/var/lib/postgresql/data
redis:
image: redis:7
volumes:
- redis_data:/data
volumes:
pg_data:
redis_data:
Step 3 — 環境変数を設定
cat <<EOF > .env
SECRET_KEY=$(openssl rand -hex 32)
UTILS_SECRET=$(openssl rand -hex 32)
DATABASE_URL=postgres://outline:change_me@postgres:5432/outline
REDIS_URL=redis://redis:6379
URL=https://docs.example.com
PORT=3000
# GitHub OAuth(開発者がGitHubアカウントでログインできる)
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
EOF
Step 4 — 起動と初期確認
docker compose up -d
docker compose logs -f outline
# "Listening on port 3000" が表示されたらブラウザで確認
Step 5 — NotionエクスポートをAPIでバルクインポート
OUTLINE_TOKEN="your_api_token"
COLLECTION_ID="your_collection_id"
BASE_URL="https://docs.example.com"
for file in ./notion-export/**/*.md; do
curl -s -X POST "${BASE_URL}/api/documents.import" \
-H "Authorization: Bearer ${OUTLINE_TOKEN}" \
-F "file=@${file}" \
-F "collectionId=${COLLECTION_ID}" \
-F "publish=true"
echo "Imported: ${file}"
sleep 0.5 # レート制限対策
done
Outline の管理画面(Settings → Import → Notion)から手動インポートも可能。ファイル数が少なければGUI操作の方が確実です。
向き不向き
向いているチーム・規模
- API仕様書・ADR(アーキテクチャ決定記録)・ポストモーテムをMarkdownで管理したい開発チーム
- データを自社サーバーで管理したい(コンプライアンス・GDPR・情報セキュリティ要件がある)スタートアップ〜中規模SaaS
-
git commitや Slack ベースの開発フローに文書管理を自然に接続したいチーム - Notionの「ページ表示が遅い」「オフライン非対応」「APIレートが低い」に具体的な不満を持っているチーム
避けるべきケース
- デザイナー・マーケターが主な利用者で、画像ギャラリー・カンバンボード・フォームなどリッチな埋め込みブロックが必要なチーム。OutlineはNotionのデータベースビュー相当の機能を持たない
- Dockerを管理できるエンジニアが社内にいない組織。クラウド版の料金が合わなければ運用負荷が高くなる
- JiraとConfluenceが深くインテグレーションされており、マクロや承認ワークフローを多用しているチーム。Confluenceからの移行は一律には勧められない
- Notionのリレーション・ロールアップ・フォーミュラを業務DBとして使い込んでいる場合。Outlineはあくまでドキュメントツールであり、スプレッドシート代替にはならない
Top comments (0)