Docs · Wardris Gate

Getting started

Run it

One command, no external database required — the image ships its own MongoDB for trying it out:

docker run -d -p 8080:8080 \
  -e GATEWAY_ADMIN_USERNAME=admin \
  -e GATEWAY_ADMIN_PASSWORD=changeme \
  ghcr.io/wardris/gate

Open http://localhost:8080 and sign in with the admin username/password you set above. That's the whole quickstart — you're on the free Community tier with no license key needed.

Add a license key

Set LICENSE_KEY to unlock a paid tier. Get a key from the Portal once you've picked a plan.

docker run -d -p 8080:8080 \
  -e GATEWAY_ADMIN_USERNAME=admin \
  -e GATEWAY_ADMIN_PASSWORD=changeme \
  -e LICENSE_KEY=WARD-XXXX-XXXX-XXXX-XXXX \
  ghcr.io/wardris/gate

Gate validates the key against the Wardris License Server on startup and every 6 hours. If it's briefly unreachable, Gate keeps running at your last validated tier for 7 days before falling back to Community — a network blip won't downgrade a running gateway.

Environment variables

VariableDefaultWhat it does
GATEWAY_ADMIN_USERNAME—Bootstraps the first admin account on first boot.
GATEWAY_ADMIN_PASSWORD—Password for that first admin account.
LICENSE_KEYunset (Community tier)Unlocks your licensed tier — validated live against the license server.
LICENSE_TOKENunsetFor fully air-gapped deployments — a long-lived signed token instead of a live key, verified locally with no network call. Ask us for one.
LICENSE_SERVER_URLhttps://portal.wardris.comOnly change this if we ever tell you to.
MONGODB_URIbundled MongoDBPoint at your own MongoDB instead of the one baked into the image — see "Production setup" below.
GATEWAY_CORS_ALLOWED_ORIGINS—Comma-separated origins allowed to call the API cross-origin.
GATEWAY_RATE_LIMIT_BACKENDin-memorySet to redis for Enterprise HA/multi-instance rate limiting (needs ha on your license).
GATEWAY_TRAFFIC_LOG_RETENTION_DAYS7How long entries in the gateway traffic log (Audit Log → Traffic, Professional+) are kept before Mongo expires them. Change and restart - no migration.
GATEWAY_TRAFFIC_LOG_MAX_BODY_BYTES8192Cap for each stored request/response body on routes with body capture enabled (Business+). Secret-bearing fields are always redacted; larger payloads are truncated.
WARDRIS_TLS_CERT / WARDRIS_TLS_KEYself-signed, generated on first bootBring your own certificate for the built-in TLS listener on :8443. Most deployments terminate TLS at a load balancer instead and can ignore this.

Production setup

The all-in-one image above is a trial/quickstart packaging — everything (MongoDB included) in one container. For a real deployment, run a proper external MongoDB and point MONGODB_URI at it, so your data survives a container restart or redeploy independently of the app. Business+ tiers can also run multiple Gate instances behind a shared Redis (GATEWAY_RATE_LIMIT_BACKEND=redis) for HA — see your license's feature list in the Portal.

What Gate does with the license key

The key is validated, never your traffic or data. Gate never sends request/response bodies, downstream service details, or anything about what passes through it back to Wardris — the only outbound call is the periodic license check itself.

Need help?

Questions or something not working as documented: info@wardris.com.