Skip to content

VitePress ドキュメント公開(docs.slotkouryaku.com)

概要

VitePress でビルドしたプロジェクトドキュメントを、サブドメイン docs.slotkouryaku.com に公開する手順です。ローカルで npm run docs:dev を起動しなくても、ブラウザでドキュメントを参照できます。

前提条件

  • ConoHa WING 等でサブドメイン docs.slotkouryaku.com を追加し、ドキュメントルートを用意していること
  • docs 用ドキュメントルートで PHP が実行でき、PHP の ZipArchive 拡張が利用できること
  • デプロイ設定ファイルの準備(config/docs.env
  • (任意)アクセス制限: Basic 認証や IP 制限で「自分のみ」に限定する場合は、サーバー側で設定すること

設定手順

1. config/docs.env の作成

bash
cp config/docs.env.example config/docs.env
nano config/docs.env

2. 設定する項目

変数説明
DEPLOY_FTPS_URLdocs 用ドキュメントルートを指す FTPS URL
DEPLOY_FTPS_USERFTPS ユーザー名
DEPLOY_FTPS_PASSFTPS パスワード
DEPLOY_DOCS_PUBLIC_URLdocs 用ドキュメントルートを HTTPS で直接参照する公開 URL
DEPLOY_FTPS_ACTIVATE_TIMEOUT一時レシーバーを HTTPS 起動する際のタイムアウト秒数

DEPLOY_FTPS_URL の例(ConoHa WING で docs.slotkouryaku.com を追加した場合):

ftp://your-ftp-host/public_html/docs.slotkouryaku.com

DEPLOY_DOCS_PUBLIC_URL の例:

https://docs.slotkouryaku.com

3. パーミッション

bash
chmod 600 config/docs.env

デプロイ手順

bash
./bin/deploy-docs.sh

このスクリプトは以下を実行します。

  1. npm run docs:build で VitePress をビルド(先に DBML から ER 図 SVG を生成してからビルド。出力: docs/.vitepress/dist/
  2. docs/.vitepress/dist/docs_YYYYMMDD_HHMMSS.zip に圧縮
  3. FTPS で zip とランダム名・強トークン付きの一時 PHP レシーバーを DEPLOY_FTPS_URL にアップロード
  4. HTTPS 経由で一時レシーバーを POST 起動し、サーバー側で zip を展開して docs 公開ルートへ削除同期
  5. 成功時に zip と一時レシーバーを削除

GitHub Actions の Deploy Docs も同じ FTPS zip デプロイを使用します。リポジトリ Secrets には次を設定してください。

  • DOCS_DEPLOY_FTPS_URL
  • DOCS_DEPLOY_FTPS_USER
  • DOCS_DEPLOY_FTPS_PASS
  • DOCS_DEPLOY_PUBLIC_URL

任意で repository variable DOCS_DEPLOY_FTPS_ACTIVATE_TIMEOUT を設定できます。未設定時は 300 秒です。

この方式では FTPS 転送を zip と一時レシーバーの少数ファイルに抑えます。公開ルートは展開済み docs に合わせて削除同期するため、削除済みファイルは公開ディレクトリからも削除されます。一時レシーバーは Web 公開領域に置かれるため、POST 限定・強トークン検証・zip 名検証を行い、成功時に自動削除します。失敗時は docs-deploy-receiver-*.phpdocs_*.zip が残っていないか確認し、残っていれば削除してください。

確認

ブラウザで https://docs.slotkouryaku.com にアクセスし、ドキュメントが表示されることを確認してください。

アクセス制限(任意)

「自分のみ」で閲覧したい場合は、サーバー側で次のいずれかを設定してください。

  • Basic 認証: ドキュメントルートに .htaccess.htpasswd を配置し、Apache の Basic 認証を有効にする
  • IP 制限: 自宅やオフィス等の固定 IP のみ許可するように .htaccess またはサーバー管理画面で設定する

詳細は利用中のレンタルサーバー(ConoHa WING 等)のマニュアルを参照してください。