DNS records
Pipebase serves three sub-domains by default:
| Host | Container | Purpose |
|---|---|---|
designer.<root> | pipebase-designer | Visual editor + REST API |
runtime.<root> | pipebase-runtime | Public HTTP triggers + management API |
docs.designer.<root> | pipebase-docs | This site |
Replace <root> with whatever you put in ROOT_DOMAIN.
Easiest: wildcard A-record
Section titled “Easiest: wildcard A-record”Add a single record at your DNS provider:
*.example.com A <your-server-ip> 300That covers all three sub-domains plus any future ones (e.g. when you provision additional runtimes via the Environments page).
If your DNS provider doesn’t support wildcards at the root, add a wildcard at the second level:
*.example.com A <ip>*.designer.example.com A <ip>The second wildcard is what makes docs.designer.example.com resolve.
Per-host records
Section titled “Per-host records”If you’d rather list every host explicitly:
designer.example.com A <ip> 300runtime.example.com A <ip> 300docs.designer.example.com A <ip> 300You’ll need to add records for any additional runtimes you provision
(e.g. dev.example.com, stag.example.com).
Custom hostnames
Section titled “Custom hostnames”If the default <service>.<root> pattern doesn’t fit your DNS layout,
override per-service:
# In .envROOT_DOMAIN=example.comDESIGNER_HOST=pipebase.example.comRUNTIME_HOST=api.example.comDOCS_HOST=help.example.comThe Traefik labels in docker-compose.yml read these and route
accordingly.
Verifying
Section titled “Verifying”After your records propagate:
dig +short designer.<your-root>dig +short runtime.<your-root>dig +short docs.designer.<your-root>All three should return your server’s public IP. If they return empty or NXDOMAIN, give DNS a few minutes — most providers update inside 60 seconds, but TTL caches can hold for hours.