環境一覧

環境URL / アクセス用途
本番https://app.hirameki-web.comエンドユーザー提供
ドキュメントhttps://docs.hirameki-web.comMintlifyドキュメント

依存関係

  • Node.js 18+
  • npm
  • PostgreSQL 14+
  • Nginx + certbot (Let’s Encrypt)
  • pm2(プロセスマネージャー)
  • Mintlify(ドキュメント)

ディレクトリ構成

/home/dev/hirameki-web/
├── ai_web_builder/              # アプリケーション
│   ├── server/                  # Express API (CommonJS)
│   │   ├── index.js             # メインサーバー
│   │   └── ai/                  # AI モジュール
│   │       ├── templates/       # テンプレートシステム
│   │       ├── provider-gemini.js
│   │       ├── provider-claude.js
│   │       └── ...
│   ├── src/                     # React フロントエンド
│   ├── build/                   # ビルド成果物
│   └── uploads/images/          # アップロード画像
├── hirameki-web-docs/           # Mintlifyドキュメント
└── ...

/var/www/
├── hirameki-web/                # 公開用フロント資産
│   └── screenshots/             # サムネイル画像
└── grav-sites/                  # 生成サイトが保存される
    └── {userId}-{siteId}/
        └── pages/
            └── {order}.{slug}/
                └── default.md

環境変数

変数用途
GEMINI_API_KEYGoogle Gemini API キー
ANTHROPIC_API_KEYClaude API キー
AI_PROVIDERgemini(デフォルト)or claude
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接続情報
SITES_PATHサイト保存先 (デフォルト: /var/www/grav-sites)
FRONTEND_URLStripe成功/失敗リダイレクト先

デプロイ手順

1

依存関係のインストール

cd /home/dev/hirameki-web/ai_web_builder
npm install
2

環境変数設定

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

フロントエンドビルド

npx vite build
cp -r build/* /var/www/hirameki-web/
4

バックエンド起動/再起動

pm2 restart ai-web-builder

PM2 プロセス

プロセス名ポート用途
ai-web-builder5000Express APIサーバー
hirameki-docs3001Mintlifyドキュメント

メンテナンスタスク

# バックエンド再起動
pm2 restart ai-web-builder

# ログ確認
pm2 logs ai-web-builder

# SSL証明書の自動更新確認
certbot renew --dry-run

# データベースバックアップ
pg_dump hirameki_web > backup.sql

# PM2プロセスリスト保存
pm2 save