docker-compose.yml: devcontainer 用(appsサービス)src/docker-compose.yml: n8n + PostgreSQL 用(n8n UI はhttp://localhost:5678/)
- devcontainer では
docker-compose.yml(apps)に加えてsrc/docker-compose.yml(n8n/postgres)も同時に起動する設定にしている。 - VS Code で Dev Containers を開いたら、n8n は
http://localhost:5678/でアクセスできる(forwardPortsで 5678 を転送)。
- devcontainer イメージビルド時に Codex CLI(
codex)をインストールする。 - Codex を使う場合は devcontainer 内で
OPENAI_API_KEYを設定する(export OPENAI_API_KEY=...)。
設計書:
docs/plan/wbs-intermediate-export.mddocs/plan/wbs-intermediate-export-detail.md
ワークフロー雛形:
src/n8n/workflows/sheets-to-intermediate-file.json
cd src
docker compose up -dsrc/.env.example は参考として残していますが、ワークフロー雛形は $env.* を使わない構成にしてあります(n8n 側の設定によっては env 参照がブロックされるため)。
- n8n にログインして Google Sheets OAuth2 credential を作成(名前は任意)
src/n8n/workflows/sheets-to-intermediate-file.jsonを importGoogle Sheets (Read WBS)ノードを開いて、作成した credential を選択Configノードのwbs_sheet_id(必須)、wbs_sheet_name/wbs_sheet_range(任意)を設定- Manual Trigger で実行
src/data/exports/にwbs_*.jsonが出力されることを確認
- Google 側で有効化が必要: Google Sheets API / Google Drive API
- Redirect URI は n8n の credential 画面に出る
OAuth Redirect URLを正として、Google Cloud Console のAuthorized redirect URIsに完全一致で登録する - リバプロ配下などで n8n の URL が
http://localhost:5678/以外になる場合は、src/docker-compose.ymlのWEBHOOK_URL(必要に応じてN8N_EDITOR_BASE_URL)を実アクセスURLに合わせてから credential を作成する
access to env vars denied: 古い雛形が$env.*を参照している。最新の雛形を再importし、Configノードを使う。Can not get sheet 'undefined':Configのwbs_sheet_id/wbs_sheet_nameが未設定、またはManual Trigger -> Config -> Google Sheetsの接続になっていない。Node does not have any credentials set:Google Sheets (Read WBS)ノードで credential を選択して保存する。
https://docs.n8n.io/integrations/builtin/credentials/google/oauth-single-service/