💡 はじめに
この物語は、フロントエンドからバックエンドの沼へ落ちたAIクリエイターの記録です。
Viteで動く画面に満足していた私が、
Cloud Run、Docker、PowerShell、そして消えた.envに翻弄され、
最後には「未完成という名の悟り」を開くまでの72時間。
笑えるけど少し泣ける技術地獄を記録しました。
🧱 第1章:フロント勢が迷い込んだバックエンド沼
AIイラストイベントカレンダー。
――名前だけ聞くとロマンチックですが、中身はサーバー地獄。
最初は軽い気持ちでした。
Docker? 聞いたことある。
「環境構築が一瞬でできる魔法の箱」ってやつでしょ?
……実際は、箱の中で火事が起きてるのに外からは煙しか見えない感じです。
gcloud builds submit --tag gcr.io/project-id/ai-illustration-event-diary
ビルドは成功。
しかし次の瞬間――
The user-provided container failed to start and listen on port 8080.
いや、聴いて!
お願いだからポート8080の声を聞いて!
PowerShellは冷たく告げます。
No such file or directory
泣きながら npm run dev を打つ。
ready in 349 ms の文字が出た瞬間だけ、
自分が天才になった気がしました。
💥 第2章:成功ログが出るまでに費やした72時間
人は、デプロイが通る瞬間だけ神を信じる。
AIイラストイベントカレンダーを「世界に出す」と誓った私の前に立ちはだかったのは、
Cloud Runの沈黙でした。
Build succeeded
…でもURLを開くと 404 Not Found
え、君、成功って言ったよね?
再デプロイを繰り返す。
240秒の起動プローブの間に祈りを込めてログを読む。
PowerShellはまた冷たく言い放つ。
The container failed to listen on $PORT.
お願い、聞いて。8080の声を。
その瞬間、悟りました。
Dockerは“動くもの”ではなく、“動かすもの”。
🌅 三日目の朝
ついに成功ログが出た。
Server started on port 8080
涙が出ました。人類生存の境界72時間を生き抜いた気分
たぶん、睡眠不足のせいです。
それでも、確かに動いた。
そのとき初めて、バックエンドと心が繋がった気がしました。
🔍 第3章:消えた.envの謎を追え
バックエンドが動いたその朝、私は異変に気づきました。
“.env not found.”
え? 昨日までそこにいたよね?
犯人は「構造改革」でした。
読み込み時間を減らすため、我が相棒GPTが授けた必殺技
frontend と backend にフォルダを分け、
軽量化のために必要最小限だけ push。の技
でもDockerは現実主義者。
COPY . . の対象は backend ディレクトリ内だけ。
ルートに置いていた .env は、存在しないものとして扱われました。
Cloud Run の環境変数GUIも冷淡です。
ビルド中の .env は見てくれない。
💣 indexがない? jsonがない? それ私が消しました。
読み込みを軽くしたい一心で、
index と package.json を削除。
軽くなった……と思ったら、画面真っ白。
Cannot find module './index.js'
Missing package.json
……あれ? これ、もしかして自分で.envも消してない?
静かに笑いました。
失敗の数だけフォルダが増える、それが成長です。
⏳ 第4章:ポートは開いた、でも心は閉じた
ロードが回り続ける。
“Loading…”
あの文字は、開発者の心のメトロノームです。
データは取れている。
でも表示されない。
サーバーは応答している。
でもフロントは沈黙している。
その間に淹れた紅茶は3杯。全部冷めました。
🕐 タイムアウトと共に生きる
Cloud Run の起動プローブは 240 秒。
長いようで短い。
タイムアウトするたび、Google が小さく首を振る。
でも、もう焦らない。
ログを読むだけで救われる。
“failed” という文字が、むしろ “生きてる証拠” だから。
index を直し、json を戻し、env を再生しても、
まだ作業は続く。
ルーティング、キャッシュ、画像URLの最適化……。
完成という言葉は、いつだって幻だ。
🎧 エンディング・ラップ
Port is open, 心はclosed
ロードの渦で todayもlost
Logが囁く 「また失敗」
でも笑える だって Try Try Try
.env戻っても終わらねぇ
修正地獄も今日のメイン
涙でDeploy 夜は明ける
未完成、それが Life of Coder
📘 まとめ:未完成という名の進行形
Dockerが教えてくれたのは「環境の大切さ」。
PowerShellが教えてくれたのは「冷静な怒号」。
Cloud Runが教えてくれたのは「忍耐」。
そして、消えた.envが教えてくれたのは「油断」。
AIイラストイベントカレンダーは、まだ完成していません。
でも、エラーが返ってくる限り、それは生きているアプリです。
成功のログは出た。
けれど、作業はまだ続いてる。
それが、私の現在です。
💬 To Be Continued in Localhost...
──ロード中のバーが止まるその日まで。
