Infrastructure
The Hawknest infrastructure runs on a single VPS with Docker Compose managing all services. Traefik handles HTTPS termination and routing.
Architecture Overview
Internet
│
▼
┌─────────┐
│ Traefik │ ← HTTPS termination, Let's Encrypt certs
└────┬────┘
│ proxy-net (Docker network)
├──────────────────────┐
▼ ▼
┌──────────┐ ┌──────────┐
│ Service A │ │ Service B │
└──────────┘ └──────────┘
Shared Networks
| Network | Purpose |
|---|---|
proxy-net |
Connects Traefik to all proxied services |
Traefik Configuration
Traefik uses Docker labels for routing. Each service declares its
hostname and port via labels in its compose.yml:
labels:
- "traefik.enable=true"
- "traefik.http.routers.myservice.rule=Host(`example.hawknest.ru`)"
- "traefik.http.routers.myservice.entrypoints=websecure"
- "traefik.http.routers.myservice.tls=true"
- "traefik.http.services.myservice.loadbalancer.server.port=8080"
Certificate Management
Traefik automatically provisions and renews Let's Encrypt certificates.
No manual certificate management is required. Certificates are stored
in acme.json on the server.