Problem / Motivation
Currently, the configurator and provisioning scripts require a domain name and Cloudflare credentials to deploy the server. Users who want to quickly test the setup or who don't own a domain are blocked — they cannot use the stack at all.
Proposed Solution
Make the domain + Cloudflare configuration fully optional. The configurator should support an IP-only mode that:
- Skips all DNS/Cloudflare-related fields (domain, subdomain, email,
CLOUDFLARE_API_TOKEN, CLOUDFLARE_ZONE_ID)
- Configures Coder and Caddy to use the server's public IP directly (e.g.
http://178.104.180.64)
- Displays the list of required DNS records as a human-readable summary when the user provides a domain but no Cloudflare credentials, so they can create them manually
Acceptance Criteria
Notes
- TLS/HTTPS is not possible without a domain; this is acceptable for the IP-only mode (dev/test use case)
- This is a developer convenience feature — production deployments should always use a domain + TLS
Labels: enhancement, configurator, infra
Problem / Motivation
Currently, the configurator and provisioning scripts require a domain name and Cloudflare credentials to deploy the server. Users who want to quickly test the setup or who don't own a domain are blocked — they cannot use the stack at all.
Proposed Solution
Make the domain + Cloudflare configuration fully optional. The configurator should support an IP-only mode that:
CLOUDFLARE_API_TOKEN,CLOUDFLARE_ZONE_ID)http://178.104.180.64)Acceptance Criteria
infra/dns.sh: skip the Cloudflare API call whenCLOUDFLARE_API_TOKENis empty; log a reminder to create the DNS record manuallyinfra/proxy.sh: usehttp://+ server IP when no domain is configured (no TLS, no ACME challenge)setup.sh: setCODER_ACCESS_URLtohttp://<IP>:3000when no domain is setcloud-init.example.yaml: add commented-out examples for both domain and IP-only modedeployment.mdwith an "IP-only quickstart" sectionNotes
Labels:
enhancement,configurator,infra