Custom Domains¶
GoForge supports custom domains for your deployed projects, with automatic SSL certificate provisioning via Traefik and Let's Encrypt.
Adding a Custom Domain¶
- Navigate to your project's Settings tab
- Enter your custom domain in the Custom Domain field (e.g.,
app.example.com) - Click Save Settings
DNS Configuration¶
After adding a domain, configure your DNS records:
A Record (Direct)¶
Point your domain directly to your server's IP address:
CNAME Record¶
Or use a CNAME to point to your server's hostname:
Cloudflare¶
If using Cloudflare:
- Add the DNS record as above
- Set the proxy status to Proxied (orange cloud) for Cloudflare protection
- Or set to DNS only (gray cloud) for direct Traefik SSL
SSL Certificates¶
Automatic (Let's Encrypt)¶
When not using Cloudflare proxy mode, Traefik automatically provisions Let's Encrypt SSL certificates:
- HTTP-01 challenge verification
- Automatic renewal before expiration
- Certificates stored in the Traefik volume
With Cloudflare¶
When CLOUDFLARE_PROXY_MODE=true, Cloudflare handles SSL:
- SSL termination at Cloudflare's edge
- No Let's Encrypt certificates needed
- Full SSL mode recommended in Cloudflare settings
Troubleshooting¶
Certificate not issued¶
- Verify DNS records are correct:
dig +short your-domain.com - Ensure ports 80 and 443 are accessible from the internet
- Check Traefik logs:
docker compose logs traefik - Verify
ACME_EMAILis set to a valid email
Domain not resolving¶
- DNS propagation can take up to 48 hours (usually much faster)
- Check with:
nslookup your-domain.com - Verify no conflicting DNS records exist