Infrastructure components for the "Digital Barometer" service: reverse proxy
and database, deployed separately from the application services (backend,
frontend) and shared with them via a common external Docker network.
| Component | What it does |
|---|---|
proxy/ |
Traefik — TLS termination (Let's Encrypt, TLS challenge), routes to services on web_network based on their Docker labels |
database/ |
PostgreSQL 16 with a healthcheck, data stored in the named volume proxy_postgres_data |
docker network create web_network # once, if the network doesn't exist yet
cd proxy
docker compose -f docker-compose.proxy.yml up -d
cd ../database
cp .env.example .env
docker compose -f docker-compose.database.yml up -dAfter that, backend and frontend come up via their own docker-compose.yml
files, joining the same web_network (Traefik discovers them by labels;
the backend reaches the database via the postgres alias on that network).
.gitlab-ci.yml — deploys over SSH: pushes proxy/ and database/ to the
target host at $INFRA_PATH, and rolls out the database .env from
$TARGET_ENV_FILE.