Skip to content

ネットワーク名を proxy から genkan にする - #11

Merged
5ym merged 1 commit into
mainfrom
network-genkan
Sep 26, 2026
Merged

5ym merged 1 commit into
mainfrom
network-genkan

Conversation

@5ym

@5ym 5ym commented Sep 26, 2026

Copy link
Copy Markdown
Collaborator

何を

各プロジェクトが external で参加するネットワークの名前を proxy から genkan に変えます (CADDY_INGRESS_NETWORKS も)。

なぜ

proxy は汎用の名前なので、ほかの道具が作った同名のネットワークと取り違えます。denpa の install.sh が「genkan が入っているか」をネットワークで見分けようとしたところ、proxy が genkan 以外の理由で在ると誤判定する、という指摘を受けました (danything/denpa#231)。

上げるとき

各プロジェクトの compose の proxy を genkan に書き換える必要があります (互換のために両方に乗る形はとっていません)。書き換えるまで、そのプロジェクトには genkan から届きません。README に手順を書きました。今 proxy を参照しているもの: denpa / yuzuriha / aizuchi / yosegaki / xool / smaen / worklog-cloud。

確かめたこと

  • docker compose config が通る
  • 動いている genkan に当てての確認はしていません (手元の genkan を上げると、乗っているほかのプロジェクトが切れるため)

🤖 Generated with Claude Code

https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

proxy のような汎用の名前だと、ほかの道具が作った同名のネットワークと取り違える
(genkan が入っているかをネットワーク名で見分けられない)。各プロジェクトは
external で参加するネットワークを genkan に書き換える (README に上げ方を書いた)。

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS
@claude

claude Bot commented Sep 26, 2026 •

Copy link
Copy Markdown

Claude finished @5ym's task in 1m 56s —— View job


レビュー結果

PR ブランチの実際の差分 (base: 81450ce) を確認しました。README.md / README.en.md / compose.yml の3ファイルで、ネットワーク名を proxy から genkan に統一する変更です。

  • 不具合: なし。compose.yml の networks.genkan.name: genkan と CADDY_INGRESS_NETWORKS=genkan、両サービスの networks: がすべて整合しています。caddy-docker-proxy のサービス名は引き続き proxy のままですが (compose.yml:2)、これはネットワーク名とは別物で、README 内の docker compose cp proxy:/data/... (README.md:62, README.en.md:62) もサービス名参照なので変更不要かつ正しいままです。
  • セキュリティ: 該当なし。認証情報やネットワーク境界に関わる変更はありません。
  • 設計: 既存のコメントスタイル(compose.yml 内の日本語コメントで理由を書く形)を踏襲しており、一貫性があります。README 側にも「proxy ネットワークから上げるとき」の移行手順が日英両方に追加されており、内容も一致しています。移行時に他プロジェクトが一時的に genkan から切れる旨も PR 本文の通りで、破壊的変更として妥当な範囲です。
  • テスト: compose ファイルの変更のみで自動テストの対象外のリポジトリ構成のため、該当なし(PR 本文にある docker compose config での確認で十分と考えます)。

grep でリポジトリ全体を確認しましたが、proxy という文字列を持つ他の設定ファイル(GitHub Actions など)への参照漏れもありませんでした。

指摘事項はありません。LGTM だと思います。

@5ym
5ym merged commit 4fbcc58 into main Sep 26, 2026
1 check passed
@5ym
5ym deleted the network-genkan branch September 26, 2026 11:03
5ym added a commit to danything/denpa that referenced this pull request Sep 26, 2026
genkan だけが作る名前になったので、genkan ネットワークがあれば入っている、で見分ける。

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS
5ym added a commit to danything/denpa that referenced this pull request Sep 26, 2026
* エージェントを Apple Silicon の Mac でも動かし、curl 1行で入れられるようにする

denpa 本体は Linux のまま、Mac にはエージェントだけを置いて TUNER_AGENT_URL で繋ぐ。

- libc の数値で OS ごとに違うもの (O_NONBLOCK / EAGAIN / EOVERFLOW) を OS で選ぶ。
  F_SETPIPE_SZ は Linux だけ
- USB のカードリーダーは macOS では PCSC.framework 越し (Pcsc.cs)。--card も PC/SC を並べる
- agent/macos/install.sh: libusb の確認、エージェント・px4-userland・siano-userland の取得と
  ハッシュ確認、IT930x のファームウェアの切り出し、LaunchAgent への登録、--uninstall
- CI に macOS のジョブ (必須にはしない)。release で darwin-arm64 の tarball を添える
- Renovate が install.sh の版も上げるようにする

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

* Mac では denpa 本体も Docker で起こしてブラウザを開く。テストの詰まりを見つけられるようにする

- agent/macos/compose.yml: compose.prod.yml から tuner-agent を外し、host.docker.internal でエージェントを呼ぶ
- install.sh: エージェントと同じ版の compose で up -d、応答を待って開く。--no-docker / --no-open、--uninstall は down も
- 生TSは ~/Movies/denpa/recorded をエージェントとコンテナの両方に見せる (RECORDED_DIR)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

* Mac で止まるテストと、Linux で揺れたテストを直す

- 偽の px4d の待ち受けを止められる形に。macOS は待ち受けを閉じても accept が起きず、片付けで止まっていた
- 来るまで待つテストの読み手を専用のスレッドに。池が塞がると読み始められずに落ちた

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

* 入口を1つの install.sh にして、Linux と Mac を同じ1行で入れる

- install.sh をリポジトリ直下へ。uname で振り分け、Linux は compose.prod.yml を置いて up -d、
  Mac は今までどおり (エージェントは LaunchAgent、denpa は compose.mac.yml)。どちらも答えたら開く
- 版は最新のリリースに揃える (compose ファイルはそのタグから、イメージは .env の DENPA_TAG)
- compose.prod.yml のイメージの札を DENPA_TAG で変えられるようにする (既定は latest のまま)
- CI: install-linux (必須にしない) で install.sh を通しで。Mac のテストのステップに上限
- 偽の px4d は、誰も繋がなかったら自分で繋いで accept を起こしてから閉じる (AcceptAsync は池待ちで揺れた)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

* compose と設定は Mac も Linux も ~/denpa に置き、.env をやめて compose.override.yml に寄せる

- ~/denpa/compose.yml は上げ直すたびに上書きし、版は取ってきた compose の札を書き換えて揃える
  (compose.prod.yml の DENPA_TAG は戻す)
- compose.override.yml は無いときだけ雛形を作り、あれば触らない。docker compose は -f 無しで ~/denpa で回す
- Mac のエージェントの tuners.json / channels.json も ~/denpa/config に。compose.mac.yml のホストのパスは HOME で
- --uninstall は ~/denpa と録画・ボリュームを残す (Linux と揃える)

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

* 自己レビューの指摘を直す

- Mac: bootout のあとエージェントが消えるまで待ってから入れ替える (録画中なら終わるまで)。bootstrap に失敗したらログを案内して止まる
- 手で置いた・手を入れた ~/denpa/compose.yml は黙って上書きせず compose.yml.bak に退ける (1行目の印と控えで見分ける)
- Mac 用はこのあとのリリースからと、docs と止まるときの文言で分かるようにする
- version の失敗で止まるようにする。照合失敗の文言を控えめに。$USER の代わりに id -un
- Pcsc.cs: 通らない SCardReconnect の分岐を消す。Mac ではリーダーを独り占めすると docs に

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

* install.sh で genkan を入れて http://denpa.localhost で開けるようにする

genkan (ホスト名で振り分けるリバースプロキシ) が動いていればそれを使い、
無ければ 80 と 443 が空いているときだけ ~/genkan に入れる。登録は
compose.override.yml に書く (http:// なので証明書の信頼は要らない)。
ポート 3000 は残す (denpa.localhost はそのマシンからしか引けない)。

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

* genkan 越しは私設網の外を断り、止めてある genkan には触らない

- denpa から見た送り主は genkan のコンテナになり TRUSTED_NETWORKS で内外を
  見分けられないので、genkan で私設網の外からの要求を 403 にする
- 登録するときだけ genkan を入れる (雛形を作るか、もう登録があるとき)
- 止めてある genkan は起こし直さず、別の場所に入れた genkan の横に clone しない
- genkan を外して proxy ネットワークが無いときは、何をすればよいか言って止まる
- Mac で開発者ツールが無いときに git の代役がダイアログを出さないようにする
- 外したときに genkan が残っていることを言う

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

* genkan のネットワーク名 genkan に合わせる (danything/genkan#11)

genkan だけが作る名前になったので、genkan ネットワークがあれば入っている、で見分ける。

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

---------

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
5ym added a commit to danything/aizuchi that referenced this pull request Sep 26, 2026
danything/genkan#11 で genkan の共有ネットワークが proxy から genkan に
改名されたので、参加先を合わせる。


Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
5ym added a commit to danything/yosegaki that referenced this pull request Sep 26, 2026
danything/genkan#11 で genkan の共有ネットワークが proxy から genkan に
改名されたので、参加先を合わせる。


Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
5ym added a commit to danything/xool that referenced this pull request Sep 26, 2026
danything/genkan#11 で genkan の共有ネットワークが proxy から genkan に
改名されたので、参加先を合わせる。


Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
5ym added a commit to danything/yuzuriha that referenced this pull request Sep 26, 2026
danything/genkan#11 で genkan の共有ネットワークが proxy から genkan に
改名されたので、参加先を合わせる。


Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
5ym added a commit to 5ym/smaen that referenced this pull request Sep 26, 2026
danything/genkan#11 で genkan の共有ネットワークが proxy から genkan に
改名されたので、参加先を合わせる。


Claude-Session: https://claude.ai/code/session_01TG5bWNd7UBYqDbKKDsecbS

Co-authored-by: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant