docs(deployment): add full network architecture diagram
Some checks failed
Some checks failed
ASCII diagram showing all services, Docker networks, port bindings, and traffic flow from Cloudflare through Caddy to each container. Clearly marks which ports are internet-exposed, localhost-only, or Docker-internal-only. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
@@ -2416,6 +2416,127 @@ After Google Wallet is verified working:
|
|||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
## Network Architecture Diagram
|
||||||
|
|
||||||
|
```
|
||||||
|
INTERNET
|
||||||
|
│
|
||||||
|
┌────────────┼────────────┐
|
||||||
|
│ │ │
|
||||||
|
┌────▼────┐ ┌────▼────┐ ┌─────▼─────┐
|
||||||
|
│Cloudflare│ │Cloudflare│ │ Cloudflare │
|
||||||
|
│wizard.lu │ │omsflow │ │rewardflow │
|
||||||
|
│(proxied) │ │(proxied)│ │ (proxied) │
|
||||||
|
└────┬─────┘ └────┬────┘ └─────┬─────┘
|
||||||
|
│ │ │
|
||||||
|
└────────────┼────────────┘
|
||||||
|
│ HTTPS :443
|
||||||
|
│
|
||||||
|
┌─────────────────────┼─────────────────────┐
|
||||||
|
│ HETZNER SERVER (91.99.65.229) │
|
||||||
|
│ │ │
|
||||||
|
│ ┌──────────────────▼──────────────────┐ │
|
||||||
|
│ │ CADDY (reverse proxy) │ │
|
||||||
|
│ │ :80 / :443 │ │
|
||||||
|
│ └──┬──────┬──────┬──────┬──────┬──────┘ │
|
||||||
|
│ │ │ │ │ │ │
|
||||||
|
│ │ │ │ │ │ │
|
||||||
|
┌─────┼─────┼──────┼──────┼──────┼──────┼──────┐ │
|
||||||
|
│ │ DOCKER NETWORKS │ │ │ │ │
|
||||||
|
│ │ │ │ │ │ │ │ │
|
||||||
|
│ ┌──▼──────▼──────▼──┐ │ │ │ │ │
|
||||||
|
│ │ orion_frontend │ │ │ │ │ │
|
||||||
|
│ │ │ │ │ │ │ │
|
||||||
|
│ │ ┌───────────────┐ │ │ │ │ │ │
|
||||||
|
│ │ │ API :8000 │◄┼──┘ │ │ │ │
|
||||||
|
│ │ │ 127.0.0.1:8001│ │ Caddy ►│:5555 │:3001 │ │
|
||||||
|
│ │ └───────┬───────┘ │ │ │ │ │
|
||||||
|
│ └─────────┼─────────┘ │ │ │ │
|
||||||
|
│ │ │ │ │ │
|
||||||
|
│ ┌─────────▼─────────────────────────────────┐ │
|
||||||
|
│ │ orion_backend │ │
|
||||||
|
│ │ │ │
|
||||||
|
│ │ ┌──────────┐ ┌───────────┐ │ │
|
||||||
|
│ │ │ PostgreSQL│ │ Redis │ │ │
|
||||||
|
│ │ │ :5432 │ │ :6379 │ │ │
|
||||||
|
│ │ │ (no host │ │ (no host │ │ │
|
||||||
|
│ │ │ port) │ │ port) │ │ │
|
||||||
|
│ │ └─────▲─────┘ └──▲───▲───┘ │ │
|
||||||
|
│ │ │ │ │ │ │
|
||||||
|
│ │ ┌─────┴───────────┴┐ ┌┴────────────────┐ │ │
|
||||||
|
│ │ │ celery-worker │ │ celery-beat │ │ │
|
||||||
|
│ │ │ (no host port) │ │ (no host port) │ │ │
|
||||||
|
│ │ └──────────────────┘ └──────────────────┘ │ │
|
||||||
|
│ │ │ │
|
||||||
|
│ │ ┌──────────────────┐ │ │
|
||||||
|
│ │ │ Flower │◄── Caddy :5555 │ │
|
||||||
|
│ │ │ 127.0.0.1:5555 │ flower.wizard.lu │ │
|
||||||
|
│ │ └──────────────────┘ │ │
|
||||||
|
│ └───────────────────────────────────────────┘ │
|
||||||
|
│ │
|
||||||
|
│ ┌───────────────────────────────────────────┐ │
|
||||||
|
│ │ orion_monitoring │ │
|
||||||
|
│ │ │ │
|
||||||
|
│ │ ┌──────────────┐ scrapes ┌───────────┐ │ │
|
||||||
|
│ │ │ Prometheus │◄──────────│ API │ │ │
|
||||||
|
│ │ │ 127.0.0.1: │ │ /metrics │ │ │
|
||||||
|
│ │ │ 9090 │ └───────────┘ │ │
|
||||||
|
│ │ │ │◄─── node-exporter :9100 │ │
|
||||||
|
│ │ │ │◄─── cadvisor :8080 │ │
|
||||||
|
│ │ │ │◄─── redis-exporter :9121│ │
|
||||||
|
│ │ │ │◄─── alertmanager :9093 │ │
|
||||||
|
│ │ └──────┬───────┘ │ │
|
||||||
|
│ │ │ query │ │
|
||||||
|
│ │ ┌──────▼───────┐ │ │
|
||||||
|
│ │ │ Grafana │◄── Caddy :3001 │ │
|
||||||
|
│ │ │ 127.0.0.1: │ grafana.wizard.lu │ │
|
||||||
|
│ │ │ 3001 │ │ │
|
||||||
|
│ │ └──────────────┘ │ │
|
||||||
|
│ │ │ │
|
||||||
|
│ │ ┌──────────────┐ ┌──────────────┐ │ │
|
||||||
|
│ │ │ Alertmanager │────►│ SendGrid │ │ │
|
||||||
|
│ │ │ 127.0.0.1: │ │ SMTP :587 │ │ │
|
||||||
|
│ │ │ 9093 │ │ (external) │ │ │
|
||||||
|
│ │ └──────────────┘ └──────────────┘ │ │
|
||||||
|
│ └───────────────────────────────────────────┘ │
|
||||||
|
└──────────────────────────────────────────────────┘
|
||||||
|
│
|
||||||
|
┌─────┼──────────────────────────────────────┐
|
||||||
|
│ GITEA STACK (~/gitea) │
|
||||||
|
│ │
|
||||||
|
│ ┌──────────────────┐ ┌────────────────┐ │
|
||||||
|
│ │ Gitea │ │ gitea-db │ │
|
||||||
|
│ │ 127.0.0.1:3000 │◄─│ PostgreSQL │ │
|
||||||
|
│ │ :2222 (public) │ │ (internal) │ │
|
||||||
|
│ └──────────────────┘ └────────────────┘ │
|
||||||
|
│ ▲ ▲ │
|
||||||
|
│ │ │ │
|
||||||
|
│ Caddy:3000 SSH :2222 │
|
||||||
|
│ git.wizard.lu (public, for git push) │
|
||||||
|
└────────────────────────────────────────────┘
|
||||||
|
|
||||||
|
─── EXPOSED TO INTERNET ───────────────────────────
|
||||||
|
:443 → Caddy (via Cloudflare proxy)
|
||||||
|
:80 → Caddy (redirects to HTTPS)
|
||||||
|
:22 → SSH (server access)
|
||||||
|
:2222 → Gitea SSH (git push/pull)
|
||||||
|
|
||||||
|
─── LOCALHOST ONLY (127.0.0.1) ────────────────────
|
||||||
|
:8001 → API (Caddy → API)
|
||||||
|
:3000 → Gitea web (Caddy → Gitea)
|
||||||
|
:3001 → Grafana (Caddy → Grafana)
|
||||||
|
:5555 → Flower (Caddy → Flower)
|
||||||
|
:9090 → Prometheus
|
||||||
|
:9093 → Alertmanager
|
||||||
|
:9100 → Node Exporter
|
||||||
|
:9121 → Redis Exporter
|
||||||
|
:8080 → cAdvisor
|
||||||
|
|
||||||
|
─── DOCKER INTERNAL ONLY (no host port) ───────────
|
||||||
|
:5432 → PostgreSQL
|
||||||
|
:6379 → Redis (password protected)
|
||||||
|
```
|
||||||
|
|
||||||
## Domain & Port Reference
|
## Domain & Port Reference
|
||||||
|
|
||||||
| Service | Internal Port | External Port | Domain (via Caddy) |
|
| Service | Internal Port | External Port | Domain (via Caddy) |
|
||||||
|
|||||||
Reference in New Issue
Block a user