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.