環境一覧

環境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 (プロセスマネージャー)

ディレクトリ構成

/root
├── ai_web_builder/          # アプリケーション
│   ├── server/              # Express API
│   └── build/               # フロントエンドビルド成果物
├── grav/                    # CMS本体
│   └── user/pages/          # 生成サイトが保存される
└── /var/www/hirameki-web/   # 公開用フロント資産
Gravの user/pages 配下には u-{userId}-{siteId}.{site-slug} のディレクトリが生成され、その中に Markdown・画像・メタデータが保存されます。

環境変数

変数用途
GEMINI_API_KEYGoogle Gemini 2.5 Flash Lite のAPIキー
STRIPE_SECRET_KEY / STRIPE_PUBLISHABLE_KEY課金・Checkoutセッション
FIREBASE_PROJECT_ID / FIREBASE_CLIENT_EMAIL / FIREBASE_PRIVATE_KEYFirebase Admin SDK
DB_HOST / DB_USER / DB_PASSWORD / DB_NAMEPostgreSQL接続情報
FRONTEND_URLStripe成功/失敗リダイレクト先
MEDIA_UPLOAD_PATH画像アップロード先 (デフォルト: /var/www/grav/user/pages)
.env ファイルは /root/ai_web_builder/server/.env に配置し、backup-config.sh で定期バックアップを取得してください。

デプロイ手順

1

依存関係のインストール

npm installcd server && npm install
2

環境変数設定

server/.env にAPIキー、Firebase、PostgreSQL情報を記述
3

バックエンド起動

cd server && pm2 start index.js --name ai-web-builder-backend
4

フロントエンドビルド

npm run buildpm2 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 の項目に基づき、認証・所有権チェックを定期レビュー