Independent testing Updated April 2026 387 self-hosting guides 5 VPS providers tested

guide

VPSでDocmostをセルフホストする方法(2026年ガイド)

Docker Compose、PostgreSQL、Redis、Nginxリバースプロキシを使用したVPSでのDocmostのセルフホスティングのステップバイステップガイド。初回ログインの手順も解説。

Docmostは、オープンソースのコラボレーティブなウィキとドキュメントプラットフォームです。VPS上にセルフホスティングすることで、完全なデータ所有権を持ち、独自ドメインを設定し、席ごとの料金を気にする必要がありません。このガイドでは、新しいUbuntu VPSからSSLとNginxを設定した稼働中のDocmostインスタンスまでの全設定手順を解説します。

前提条件

作業を始める前に必要なもの:

おすすめのVPSプロバイダー:

ステップ1:VPSを準備する

新しいUbuntu 22.04 VPSをセットアップします。rootとしてSSH接続:

ssh root@your-server-ip

非rootユーザーを作成し、sudo権限を付与(推奨):

adduser deploy
usermod -aG sudo deploy

ステップ2:DockerとDocker Composeをインストールする

# システムの更新
apt update && apt upgrade -y

# Dockerのインストール
curl -fsSL https://get.docker.com | sh

# ユーザーをdockerグループに追加
usermod -aG docker deploy

# インストール確認
docker --version
docker compose version

設定変更を反映させるために、一度ログアウトして再ログインしてください。

ステップ3:Docmost用ディレクトリを作成

mkdir -p /opt/docmost
cd /opt/docmost

ステップ4:Docker Composeファイルを書く

/opt/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
    restart: unless-stopped
  db:
    image: postgres:16
    environment:
      POSTGRES_USER: docmost
      POSTGRES_PASSWORD: password
      POSTGRES_DB: docmost
    volumes:
      - pg_data:/var/lib/postgresql/data
    restart: unless-stopped
  redis:
    image: redis:7
    volumes:
      - redis_data:/data
    restart: unless-stopped
volumes:
  pg_data:
  redis_data:

セキュリティ上の注意passwordは強力でランダムなパスワードに置き換えてください。

ステップ5:Docmostを起動

cd /opt/docmost
docker compose up -d

すべてのコンテナが稼働していることを確認:

docker compose ps

docmostdbredisrunning状態で表示されるはずです。動作がおかしい場合はログを確認してください。

docker compose logs docmost

ステップ6:Nginxのインストールと設定

apt install nginx -y

/etc/nginx/sites-available/docmostを作成:

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;

    client_max_body_size 100M;

    location / {
        proxy_pass http://localhost:3000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 86400;
    }
}

サイトを有効化:

ln -s /etc/nginx/sites-available/docmost /etc/nginx/sites-enabled/
nginx -t
systemctl reload nginx

ステップ7:SSL証明書の取得

apt install certbot python3-certbot-nginx -y
certbot --nginx -d docs.yourdomain.com

指示に従って進めてください。Certbotが自動的にNginxの設定を更新し、証明書の自動更新も設定します。

ステップ8:ファイアウォールの設定

ufw allow OpenSSH
ufw allow 'Nginx Full'
ufw enable

ポート3000は直接開放しないように。すべての通信はNginxを通じて行います。

ステップ9:最初のログインとワークスペース設定

  1. ブラウザで https://docs.yourdomain.com を開く
  2. 最初のアクセス時にDocmostのセットアップウィザードが表示される
  3. 管理者アカウント(メール・パスワード)を作成
  4. ワークスペースに名前を付ける
  5. 最初のスペースを作成(例:「Engineering」「Product」「HR」)
  6. 設定パネルからチームメンバーを招待

Docmostのアップデート

最新イメージを取得して再起動:

cd /opt/docmost
docker compose pull
docker compose up -d

バックアップ戦略

PostgreSQLのデータを定期的にバックアップ:

docker exec docmost-db-1 pg_dump -U docmost docmost > backup_$(date +%Y%m%d).sql

また、Dockerボリューム /var/lib/docker/volumes/docmost_pg_data も定期的にバックアップしてください。

トラブルシューティング

問題解決策
コンテナが起動しないdocker compose logsでエラーを確認
502 Bad GatewayDocmostの初期化中の場合があるので、30秒待って再試行
WebSocketエラーNginxの設定にUpgradeConnectionヘッダーを追加
DB接続拒否DATABASE_URLがPostgresコンテナの認証情報と一致しているか確認

次のステップ

VPSプロバイダーの比較については selfhostvps.com/en/best/ をご覧ください。