環境一覧
| 環境 | URL / アクセス | 用途 |
|---|---|---|
| ローカル | http://localhost:3000 (frontend), http://localhost:5000 (API) | 開発・検証 |
| ステージング (任意) | カスタムドメイン or IP | 新機能テスト |
| 本番 | https://app.hirameki-web.com | エンドユーザー提供 |
依存関係
- Node.js 18+
- npm
- PostgreSQL 14+
- Grav CMS (
/root/grav) - Nginx + certbot
- pm2 (プロセスマネージャー)
ディレクトリ構成
user/pages 配下には u-{userId}-{siteId}.{site-slug} のディレクトリが生成され、その中に Markdown・画像・メタデータが保存されます。
環境変数
| 変数 | 用途 |
|---|---|
GEMINI_API_KEY | Google Gemini 2.5 Flash Lite のAPIキー |
STRIPE_SECRET_KEY / STRIPE_PUBLISHABLE_KEY | 課金・Checkoutセッション |
FIREBASE_PROJECT_ID / FIREBASE_CLIENT_EMAIL / FIREBASE_PRIVATE_KEY | Firebase Admin SDK |
DB_HOST / DB_USER / DB_PASSWORD / DB_NAME | PostgreSQL接続情報 |
FRONTEND_URL | Stripe成功/失敗リダイレクト先 |
MEDIA_UPLOAD_PATH | 画像アップロード先 (デフォルト: /var/www/grav/user/pages) |
デプロイ手順
1
依存関係のインストール
npm install、cd server && npm install2
環境変数設定
server/.env にAPIキー、Firebase、PostgreSQL情報を記述3
バックエンド起動
cd server && pm2 start index.js --name ai-web-builder-backend4
フロントエンドビルド
npm run build → pm2 serve build 3000 --name ai-web-builder-frontendメンテナンスタスク
pm2 restart ai-web-builder-backendでリリース反映certbot renew --dry-runで証明書の自動更新を確認- Gravキャッシュクリア:
rm -rf /var/www/grav/cache/* - データベースバックアップ:
pg_dump hirameki_web > backup.sql - 監査:
/root/ai_web_builder/SECURITY_AUDIT.mdの項目に基づき、認証・所有権チェックを定期レビュー