代表的なエラー

src/firebase.js の構成値がFirebase Consoleと一致しているか確認。Authorized domainsに app.hirameki-web.com を追加。
/root/grav が存在するか、/var/www/grav/user/pages への書き込み権限があるか確認。パーミッションは www-data:www-data に設定。
PostgreSQL接続か sites テーブルを確認。db.query('SELECT NOW()') が成功するか、users テーブルにFirebase UIDが登録されているかチェック。
ファイルサイズ (10MB以内) と拡張子を確認。Nginxの client_max_body_size が十分か、自動生成されるimagesディレクトリに書込権限があるかをチェック。

デバッグコマンド

# バックエンドログ
pm2 logs ai-web-builder-backend

# プロセス再起動
pm2 restart ai-web-builder-backend

# Gravキャッシュを削除
rm -rf /var/www/grav/cache/*

# データベース接続確認
psql -c 'SELECT NOW();' hirameki_web

連携周りの注意点

  • Stripeテストモードでは price_... ID が本番と異なるため注意
  • Gemini APIはリージョン制限があるため、サーバーIPが許可されているか確認
  • PuppeteerによるスクリーンショットはChrome依存。依存パッケージが最新かチェックし、apt install -y chromium で更新できます
問題が解決しない場合は SECURITY_AUDIT.md / FIREBASE_SETUP.md も参照し、設定漏れがないかを確認してください。