Get started
Docker Compose quickstart
Bring up Postgres, Redis, Api, Proxy, and Worker with Compose.
Goal
Run the packaged stack under deploy/docker without installing PostgreSQL/Redis yourself.
Prerequisites
- Docker Engine + Compose plugin.
- Copy of the repository.
Steps
From deploy/docker:
cp .env.example .env
# Replace every change-me value in .env.
docker compose build
docker compose up -d
docker compose ps
Typical published ports:
- API:
http://localhost:8080 - Proxy:
http://localhost:8081
API startup applies EF migrations and seeds the admin when Seed__Enabled=true.
Plugins and GeoIP
- Sample plugins ship in Api/Worker images; a
pluginsvolume can hold extra DLLs. - Place
GeoLite2-Country.mmdbandGeoLite2-ASN.mmdbindeploy/docker/geoip/if you need geo rules.
Data-plane tenant
Set DATA_PLANE_TENANT_ID after you create a tenant and publish configuration.
DATA_PLANE_ALLOW_EMPTY_CONFIG=true keeps demo Proxy ready before the first snapshot—set false for production-like behavior.
Verify
curl http://localhost:8080/health
curl http://localhost:8081/health
curl http://localhost:8081/ready
docker compose logs -f shieldgate-api shieldgate-proxy shieldgate-worker
Stop or reset
docker compose down
# Destructive — also removes volumes:
docker compose down -v
Pitfalls
- Never reuse example credentials outside local development.
- HTTPS on the Proxy is off by default; enable only with certificates configured from the control plane.
Next
First login · deeper notes in Docker Compose deploy