ようやくコードを書き始めた。二ヶ月ぐらいろくにコード書いてないので大分弱体化していて辛い。頑張って取り戻す。
2025-06-22 作成日時:2025/6/22 0:15:00
2025-06-21 作成日時:2025/6/20 22:33:00
とりあえず建立できた。ここでやっていく。DNS を Route53 から Cloudflare に移行した。で、VPS の中で cloudflared を立ち上げてリバプロのコンテナまでトンネリングしている。これでかなりセキュアだしエッジサーバを通るので爆速になった。TLS 証明書も勝手に作って自動更新してくれる。あとは SSH のポートが空いてるのが気になるからトンネリングしてもいいが、まあ22からは変えてるしいいかな…
今日は CI/CD まで作った。イメージビルドして ghcr.io に上げて VPS ログインして pull して起動するので 2分以内で終わるので今んとこ Vercel よりデプロイが早い可能性がある。明日ようやくコードを書き始められる気がしてきた。
-
- こわいよ〜
2025-06-20 作成日時:2025/6/20 0:02:00
VPS をひたすらいじる。
VPS + Docker Compose の構成でどうやってシークレット(APIキーとか漏れたらあかんやつ)を持つのがいいのか……VPS にファイルで置いて Docker Compose の secret で注入するのでいいのか?でもそうするとシークレットの SSOT は開発機になるのよな。結局開発機から秘密情報を VPS にコピーするので。そしてシークレットは gitignore するんで、CI/CD に乗らず同期を自動化できない。
Infisical とか Doppler みたいなマネージドな Vault を使うべきか。 GitHub Secrets を SSOT にする手もある、GitHub Actions で使えるし。けど GitHub Secrets ってローカルで Secrets の内容見れないんだよな。
もしくは VPS 上に Vault をセルフホストして volume をアプリと共有する、秘密情報は CLI で追加する、みたいな…やりすぎか…Infisical 使うか…令和の時代にこんなことで悩んでるの俺しかいないのでは、みたいな感覚になってきた。というかずっとインフラいじっていて、いつになったらコードを書き始められるのか。
- Self-Hosted Alternatives to Popular Services
- みんな〜
- Do not use secrets in environment variables and here’s how to do it better
- まあこういう話って調べると結構あるのだが、みんな何も気にせず環境変数にすべてをぶち込んでいる
- ワンバイナリWebサービスのススメ - Speaker Deck
- 雰囲気は近い
2025-06-18 作成日時:2025/6/18 2:37:00
自転車で、上野でやってるマヘルのライブに行った。まぁ、マヘルだなぁ、という感じだった。夏が良かった。 まあむしろ現象としてこの音楽を何百人もの人間が見に来ている、というのが重要なのだと思う。
調子があんまよくない。ぼんやりしてるうちに時間が爆速で経過していく。もういっそのこと早く新しい仕事が始まって欲しい。
2025-06-12 作成日時:2025/6/12 0:00:00
個人開発のために格安 VPS、Hetzner を契約して (DHH も激推し)環境を作っている。月$5ぐらい。
とりあえず Ansible で Docker やら Caddy やら入れつつ、SSH ポート変えたり root ログイン禁止にしたりセキュリティパッチの自動適用設定したりとか、マネージドだとあんま気にしなくていいところを色々頑張っている。今回は Ubuntu だけど、次は NixOS でやりたい感じある。
個人開発ではとにかく DB の価格がネックになることは前回トライして分かった。VPS の中に DB もアプリもコンテナ化して全部ぶち込んで docker-compose 一発で立ち上げればインフラ構築も簡単だし価格も抑えられる、というのが今回やりたいことだ(速度や可用性については考えないことにする)。k3s とか入れて勉強するのもありか…。
なんだか20年前に退化したみたいな世界観だが、しかし間違いなくこれが最安であり、クラウドベンダの甘言に騙されてはいけない。私たちが作るプロダクトの大半は本当は可用性もスケーラビリティも不要なのだ(なぜならそんなに使われないからだ)。サーバレス?軟弱。真のエンジニアならば VPS を契約し、己の手ですべてを操作設定できる自由をこそ獲得せねばならない。