Synology Container Topology¶
Purpose¶
この文書は、Synology 上で常時運用される AEGIS container 群の topology を整理する。 焦点は「どの container がどの network に属し、どの volume を source of truth として読むか」である。
Topology summary¶
- 共有公開面は
aegis-shared-netに集約される。 - stack ごとの isolation は compose default network に残る。
- 例外は
aegis-lt-ibkr-quote-collectorのhostnetwork で、gateway と localhost API を共有する。
flowchart TB
subgraph Shared["aegis-shared-net (bridge)"]
WFT["aegis-wft"]
Quote["aegis-quote-collector"]
Token["aegis-token-keeper-live"]
Dash["aegis-dashboard"]
Cloud["aegis-cloudflared"]
Monitor["aegis-monitor"]
end
subgraph LT["lt-rust-docker_default"]
LTRust["aegis-lt-rust"]
LTParity["aegis-lt-parity"]
LTValidator["aegis-lt-validator"]
LTScan["aegis-lt-scan-cycle"]
LTToken["aegis-lt-token-keeper"]
LTQuote["aegis-lt-quote-collector"]
LTLdas["aegis-lt-ldas-intraday / eod"]
IBKRGw["aegis-lt-ibkr-gateway"]
end
subgraph Host["host network"]
IBKRQC["aegis-lt-ibkr-quote-collector"]
end
subgraph LDAS["ldas-standalone_default / ldas-main_default"]
LDASMain["aegis-ldas"]
Poly["aegis-polygon-quotes"]
end
WFT --> Dash
Quote --> Dash
Token --> WFT
LTScan --> LTParity
LTScan --> LTValidator
IBKRGw --> IBKRQC
Shared bridge¶
aegis-shared-net は 192.168.224.0/20 の external bridge で、cross-stack connectivity の中心である。
2026-04-12 時点の attached set は以下。
aegis-cloudflaredaegis-dashboardaegis-quote-collectoraegis-token-keeper-liveaegis-wft
aegis-monitor も compose 定義上この shared bridge を使う。
Container x network x volume¶
| Container | Network family | Key volumes / mounts | Purpose |
|---|---|---|---|
aegis-wft |
aegis-shared-net + PT stack default |
/volume1/aegis/tokens, /volume1/aegis/wft_state, repo/config mounts |
Python PT main lane |
aegis-quote-collector |
aegis-shared-net + PT stack default |
/volume1/aegis/tokens, /volume1/aegis/quote_samples |
Python live quote collection |
aegis-token-keeper-live |
aegis-shared-net + PT stack default |
/volume1/aegis/tokens |
canonical Saxo token refresh |
aegis-dashboard |
aegis-shared-net + dashboard default |
dashboard app mounts | operator UI |
aegis-cloudflared |
aegis-shared-net + dashboard default |
none significant | public ingress tunnel |
aegis-monitor |
aegis-shared-net + monitor default |
monitor config/log mounts | SMS/Slack monitoring |
aegis-lt-rust |
lt-rust-docker_default |
/volume1/aegis/tokens:ro, /volume1/aegis/wft_state, configs |
Rust shadow summary |
aegis-lt-parity |
lt-rust-docker_default |
/volume1/aegis/wft_state, configs |
parity / diff lane |
aegis-lt-validator |
lt-rust-docker_default |
/volume1/aegis/wft_state, configs |
cutover validation |
aegis-lt-scan-cycle |
lt-rust-docker_default |
/volume1/aegis/tokens:ro, /volume1/aegis/wft_state/lt_rust, configs |
Rust multi-scenario scan runner |
aegis-lt-token-keeper |
lt-rust-docker_default |
/volume1/aegis/tokens:rw, configs |
Rust token keeper |
aegis-lt-quote-collector |
lt-rust-docker_default |
/volume1/aegis/tokens:ro, /volume1/aegis/quote_samples_rust, configs, reports |
Rust quote collector |
aegis-lt-ldas-intraday |
lt-rust-docker_default |
/volume1/aegis/live_data_archive_rust, configs |
Rust LDAS intraday |
aegis-lt-ldas-eod |
lt-rust-docker_default |
/volume1/aegis/live_data_archive_rust, configs |
Rust LDAS EOD one-shot |
aegis-lt-ibkr-gateway |
lt-rust-docker_default |
credential env via host .env |
IBeam / Client Portal gateway |
aegis-lt-ibkr-quote-collector |
host |
/volume1/aegis/quote_samples_rust |
IBKR shadow quote sampling |
aegis-ldas |
ldas-main_default |
archive/output mounts | legacy Python LDAS |
aegis-polygon-quotes |
ldas-standalone_default |
/volume1/aegis/polygon_v2, quotes logs |
Polygon enrichment |
Design reading¶
Public / operator surface¶
- PT, dashboard, monitor, and tunnel share a common bridge because they must reach each other across compose roots.
- この shared bridge があるため、dashboard 系 deploy は PT stack を直接いじらずに連携できる。
Rust migration surface¶
- LT Rust lane は原則として own default bridge に閉じる。
- shared state integration は network 経由ではなく host volume contract で行う。
- これにより Python PT と Rust sidecars の failure domain を分けやすい。
IBKR exception¶
aegis-lt-ibkr-quote-collectorはhostnetwork で localhost port を直接使う。- Why: gateway container の API endpoint と quote collector の依存が密で、bridge 越し DNS より localhost binding を優先しているため。
Source references¶
AEGIS/aegis-docs/docs/operations/synology_container_inventory.mdAEGIS/WORK_LOG/2026-04-12_codex_docker_network_topology.mdaegis_v3/pt-docker/docker-compose.ymlaegis_v3/dashboard-docker/docker-compose.ymlaegis_v3/monitor-docker/docker-compose.ymlaegis_v3/ldas-standalone/docker-compose*.ymlaegis_v3/lt-rust-docker/docker-compose*.yml