Skip to content

Ports

AnvilBase publishes host ports in a dedicated 39xxx block so a fresh clone won’t collide with the conventional ports you’re probably already running (Postgres 5432, Redis 6379, MinIO 9000, dev servers on 3000/4000/8080). Container-internal ports stay at their conventional defaults, so inter-service DSNs don’t depend on host overrides.

Default ports

ServiceHost portInternal portOverride (.env)
Control plane (API)390013001CONTROL_PLANE_PORT
Auth390023002AUTH_PORT
Webhooks390033003WEBHOOKS_PORT
Console390043004CONSOLE_PORT
Realtime390404000REALTIME_PORT
Postgres394325432POSTGRES_PORT
Valkey396376379VALKEY_PORT
Supavisor39654SUPAVISOR_PORT
MinIO (S3 API)399009000MINIO_PORT
MinIO (console)399019001MINIO_CONSOLE_PORT
Traefik (HTTP)3908080TRAEFIK_HTTP_PORT
Traefik (HTTPS)39443443TRAEFIK_HTTPS_PORT
Traefik (dashboard)390818080TRAEFIK_DASHBOARD_PORT

Production exposure

In production, only Traefik (80/443) should be reachable from the internet. Do not publish the internal service ports to the host; keep Postgres, Valkey, MinIO, realtime, and Deno on the private network, and close/relocate the Traefik dashboard port. See Network Security.

Changing a port

Set the relevant *_PORT in .env and restart the stack. Because only the host side changes, no other service configuration is affected:

Terminal window
# example: move the console to 4321
CONSOLE_PORT=4321

Next: Error Codes.