Docmostは、チームのドキュメントを完全にコントロールしたい方にとって、NotionやConfluenceのオープンソース代替として最適なプラットフォームです。Docker Composeを使ったVPSでの実行は比較的簡単であり、このガイドでは、Docmostが何か、セルフホスティングがSaaSに勝る理由、どのVPSを選ぶべきか、そしてどうやって動かすかについて詳しく解説します。
Docmostとは何か?
Docmostは、オープンソースのセルフホスト型のコラボレーティブドキュメント・ウィキプラットフォームです。重いエンタープライズツールであるConfluenceの代替や、Notionのようなクローズドソースツールの代わりとして現代的に構築されました。
主な特徴:
- リアルタイムコラボレーション - 複数ユーザーが同時に編集、ライブカーソル付き
- ブロックベースエディター - リッチテキスト、表、コードブロック、埋め込み、コールアウト
- スペースとネストされたページ - Notionのような階層的ドキュメント整理
- 詳細なアクセス権限設定 - ワークスペース、スペース、ページ単位で権限管理
- セルフホスト - データはあなたのサーバに留まる
- Docker Composeデプロイ - PostgreSQLとRedisとともに数分で立ち上げ可能
Docmostは積極的に開発されており、github.com/docmost/docmostで公開されています。
なぜDocmostをVPSでセルフホスティングするのか?
- プライバシー保護:チームのドキュメントや内製ウィキ、機密情報は自社インフラで管理
- コスト削減:月額$5のVPSは、チーム単位のSaaS料金よりも安価
- コントロール性:カスタムドメイン、LDAP/SSO連携、ベンダーロックインなし
- パフォーマンス:VPSをチームの地理に合わせて配置し低レイテンシを実現
Docmost用VPSの要件
| Tier | vCPU | RAM | ストレージ | 対応規模 |
|---|---|---|---|---|
| 最小限 | 1 | 1GB | 10GB | 個人利用、1~2ユーザー |
| 推奨 | 2 | 2GB | 20GB NVMe | 小規模チーム(最大10人) |
| 快適 | 2+ | 4GB | 40GB+ NVMe | 10~50ユーザーのチーム |
Docmostは3つのコンテナ(アプリ自体、PostgreSQL 16、Redis 7)を動かします。Redisは軽量ですが、Postgresは負荷時にもっとも資源を消費します。
VPSプロバイダー比較
| プロバイダー | 価格 | RAM | ストレージ | 最適用途 |
|---|---|---|---|---|
| Hetzner Cloud | €4.15/月 | 4GB | 40GB NVMe | EU圏内でコストパフォーマンス最良 |
| Contabo VPS | €5.99/月 | 8GB | 200GB NVMe | ストレージ重視または成長中のチーム向け |
| Linode (Akamai) | $5/月 | 1GB | 25GB SSD | 予算重視、ライトユース向け |
| Vultr | $6/月 | 1GB | 25GB SSD | グローバルリージョン展開 |
| DigitalOcean | $6/月 | 1GB | 25GB SSD | 初心者に優しい |
おすすめ: Hetzner Cloud の€4.15/月が、多くのDocmost展開においてコスパと性能の最良バランスです。ストレージ重視なら Contaboも最適。
Docker Composeのセットアップ
以下は、Docmost用の本番運用向けdocker-compose.ymlです。
version: '3'
services:
docmost:
image: docmost/docmost:latest
ports:
- "3000:3000"
environment:
DATABASE_URL: postgresql://docmost:password@db:5432/docmost
REDIS_URL: redis://redis:6379
depends_on:
- db
- redis
db:
image: postgres:16
environment:
POSTGRES_USER: docmost
POSTGRES_PASSWORD: password
POSTGRES_DB: docmost
volumes:
- pg_data:/var/lib/postgresql/data
redis:
image: redis:7
volumes:
- redis_data:/data
volumes:
pg_data:
redis_data:
これをdocker-compose.ymlとして保存し、次のコマンドを実行:
docker compose up -d
これでhttp://your-server-ip:3000にアクセス可能です。Nginxのリバースプロキシを使ってドメインとSSLを追加しましょう。
Nginxリバースプロキシ(SSL対応)
server {
listen 80;
server_name docs.yourdomain.com;
return 301 https://$host$request_uri;
}
server {
listen 443 ssl;
server_name docs.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/docs.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/docs.yourdomain.com/privkey.pem;
location / {
proxy_pass http://localhost:3000;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}
certbot --nginx -d docs.yourdomain.comを実行してLet’s Encryptの無料SSL証明書を取得しましょう。
初期設定後のステップ
https://docs.yourdomain.comにアクセスし、セットアップウィザードを完了- 最初のワークスペースを作成し、チームメンバーを招待
- プロジェクトや部署ごとにスペースを設定
- 各スペースの権限を調整
どのプロバイダーを選ぶべきか?
- EU圏内で予算重視: Hetzner Cloud - 4GB RAM、€4.15/月
- 最大ストレージ: Contabo - 200GB NVMe、€5.99/月
- グローバル展開: Vultr - 世界中32のデータセンター
- 最も簡単な導入: DigitalOcean - 優れたドキュメントとUI
全てのトップVPSプロバイダーの詳細については selfhostvps.com/en/best/ を参照してください。