Doaは個人事業の屋号です。事業内容・自社サービス・実績はdoany.ioに、ハマったことや調べたことはブログに書いています。ここには、そのソースと自宅のクラスタを公開しています。
構成はArgo CDのGitOpsに寄せていて、マニフェストをpushすればクラスタに反映されます。
- Talos Linux(1ノード)+ Argo CD + Cilium(Gateway API)+ Infisical。ノードの設定もgitで持ち、Cloudflare・Entra ID・NetBirdの設定はPulumiで持つ
- 古い業務システムもDocker / Helm chartにして載せる
- 公開リポジトリはGitHub ActionsでビルドしてGHCRへ、非公開のものは自宅のForgejoのActionsでビルドして同じForgejoのレジストリへ。どちらもArgo CDがデプロイ
| トドロク | 中古車店の台帳と帳簿と書類。車検証の2次元コードを読めば1台が登録され、期限のお知らせ・原価と利益・古物台帳・請求書・登録手続きの書類まで出せる |
| worklog | 書かなくていい日報と稼働表。Slack・GitHub・Backlog・Jiraなどの活動ログから、日報と月末の稼働表の下書きを作る |
| tama 車両カタログ | 日本で型式指定を受けた自動車2万型式超のカタログ。諸元・燃費・販売期間・官報の型式指定・リコール届出を横断検索。トドロクの車両マスターでもある |
Note
これらのソースは、自宅のForgejoにある非公開のリポジトリです。Argo CDのApplicationSetがGitHubとForgejoの両方のリポジトリを走査し、各リポジトリのdeploy/argocd.yamlを見つけてApplicationを作ります。
| Repository | 概要 |
|---|---|
| gitops | 自宅のクラスタのマニフェスト。セルフホストのアプリ(Forgejo、Matrix、AdGuard Home、NetBird、Headlamp、Infisical、Rybbit、Renovate、k8up、external-dns、Cloudflare DDNS、SMTPリレー、3proxy)と、クラスタを組む層(Talosのmachine config、Argo CD、Cilium Gateway、cert-manager、Entra IDの認証)。PulumiのCloudflare・Entra・NetBird、restic → R2のバックアップと建て直しの手順も |
| mado | OIDCでログインして、ブラウザからRDPする小さなゲートウェイ。.NETのWindowsサービスとタスクトレイをMSIで入れ、署名を確かめて自分で更新する。クラスタが落ちたときの入口にも使っている |
| helm-mosp | 勤怠管理MosPのDockerイメージとHelm chart。毎月、最新コミットを自動でビルドしてGHCRに置く |
| genkan | compose.yml 1枚のリバースプロキシ。ローカルの*.localhostも本番のドメインも同じ設定で振り分ける |
| infisical-push-bridge | セルフホストのInfisical(無料版)で、Webhookを受けてInfisicalSecretをその場で同期させる。Helm chartあり |
| wslc-compose | compose.yamlをWSLコンテナ(wslc)で動かす。docker composeのよく使う範囲を依存クレートなしのRustで。wingetで入る |
| Repository | 概要 |
|---|---|
| denpa | チューナーを挿すだけで動くテレビ録画サーバ。設定ファイルは書かず、番組表から予約して、録画もライブも字幕・データ放送つきでブラウザで観る。CMは自動で飛ばす。Linux・Mac・Windows・Kubernetes |
| denpa-tv | denpaをAndroid TV / Google TVで観るアプリ。Jetpack Compose for TV |
| denpa-font | 字幕・データ放送・番組表向けの等幅の丸ゴシック。BIZ UDゴシックの角を丸め、ARIBの記号を描き足したもの(OFL) |
| corp | doany.ioのソース。Astro + Bladesの静的なページを、お問い合わせを受ける小さなBunのサーバーが配信する |
| blog | b.doany.ioのソース。FuwariベースのAstro製ブログ。検索はPagefind、コメントはyosegaki |
| yosegaki | SvelteKit + Bun + SQLiteのコメントサーバ。scriptタグ1つで埋め込めて、管理画面は無い。どのコメント欄からでもサイト全体の新着と自分宛ての返信が見える |
| ashi | AIに、足を。話しかけられなくても自分で問いを選んで調べ、ノートと日記を残して休むAI。頭はClaude API、足(ループ・予算・ガードレール)はSvelteKit + Bun |
| aizuchi | チャットで相槌を打つAIボット。コネクタ(Slack)・LLMプロバイダ(Claude)・道具(GitHub、OpenProjectなど)を差し替えられる.NET Native AOTの器で、Helm chart付き |
| xool | x.doany.io。𝕏の前日のポストを集計して、通信簿として自動でポストする |
| lgtm | l.doany.io。画像を放り込むとLGTMを敷き詰めたwebpにして、貼り付け用のMarkdownを返す |
| yuzuriha | y.doany.io。0円物件を掲載サイトから集めて、衛星写真の地図に載せる |