Documentation & Walkthroughs

DEPLOYMENT_TUTORIAL

Connect your free .devs.surf subdomain to any hosting provider. Follow the exact DNS records and configuration steps below.

01

Claim Your Free Subdomain

Devs.Surf provides instant subdomains under .devs.surf with zero credit cards, renewals, or fees.

  1. Log in or create a free account at devs.surf/signup.
  2. Go to the Domain Finder and search for your desired name (e.g. myproject).
  3. Click CLAIM NOW. The DNS zone is created and deployed instantly across Anycast DNS.
  4. Navigate to your Dashboard to manage DNS records anytime.
02

Vercel (Next.js, Vite, React)

POPULAR

To connect a Vercel project to your Devs.Surf domain:

  1. In your Vercel Project, go to SettingsDomains.
  2. Type your domain (e.g. myproject.devs.surf) and click Add.
  3. In your Devs.Surf DNS, add the following CNAME record:
Type Name Target Action
CNAME @ cname.vercel-dns.com
Note for verification TXT: If Vercel displays a TXT verification notice (_vercel), add a TXT record with Name: _vercel and the value shown in Vercel.
03

GitHub Pages

STATIC / DOCS

Host portfolios, Hugo, Jekyll, VitePress, or docs with GitHub Pages:

  1. In your GitHub repo, open SettingsPages.
  2. Under Custom domain, enter myproject.devs.surf and save. (Or commit a file named CNAME in your root directory containing myproject.devs.surf).
  3. In Devs.Surf DNS manager, add:
Type Name Target TTL
CNAME @ YOUR-USERNAME.github.io 3600

Once verified by GitHub, check the Enforce HTTPS checkbox to enable automatic SSL encryption.

04

Netlify

  1. Open Netlify site settings → Domain ManagementAdd custom domain.
  2. Enter your full subdomain (e.g. myproject.devs.surf).
  3. In Devs.Surf DNS, add:
Type Name Target TTL
CNAME @ YOUR-SITE.netlify.app 3600

Netlify automatically provisions Let's Encrypt SSL once the CNAME resolves.

05

Cloudflare Pages

Connect your Cloudflare Pages fullstack or Jamstack application:

  1. Inside Cloudflare dashboard → Workers & Pages → select your Pages project.
  2. Open the Custom domains tab → click Set up a custom domain.
  3. Input myproject.devs.surf and proceed. Cloudflare will give you your unique target (e.g. myproject.pages.dev).
  4. In Devs.Surf DNS manager, create:
Type Name Target TTL
CNAME @ YOUR-APP.pages.dev 3600
06

Firebase Hosting

  1. In Firebase Console → HostingAdd custom domain.
  2. Add TXT verification record if requested by Firebase:
    Type: TXT | Name: @ | Content: google-site-verification=...
  3. Add Firebase Anycast IP records in Devs.Surf DNS:
Type Name Target IP TTL
A @ 151.101.1.195 3600
A @ 151.101.65.195 3600
07

Self-Hosted VPS (Nginx + Let's Encrypt)

For custom servers (Ubuntu, Debian, Docker, Node.js, Python, Go):

1. In Devs.Surf DNS, create an A Record pointing to your server's public IP:

Type: A | Name: @ | Target: YOUR_SERVER_IP | TTL: 3600

2. Minimal Nginx reverse-proxy configuration (/etc/nginx/sites-available/yourapp.conf):

server {
    listen 80;
    server_name myproject.devs.surf;

    location / {
        proxy_pass http://127.0.0.1:3000; # Change to your application port
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

3. Issue free SSL with Certbot:

sudo certbot --nginx -d myproject.devs.surf
08

Render & Railway

1. In Render or Railway, open your service settings → Custom Domains.

2. Add myproject.devs.surf.

3. Point a CNAME record in Devs.Surf DNS to your service's generated hostname (e.g. myproject.onrender.com or myproject.up.railway.app).

09

cPanel Hosting (Shared Hosting)

Connect any cPanel-based hosting account (Hostinger, Namecheap, Bluehost, Niagahoster) to your Devs.Surf subdomain.

1. Locate your Shared IP Address on the right-hand panel of your cPanel dashboard.

2. In Devs.Surf DNS Manager, add an A record pointing to your cPanel IP:

Type Name Content TTL
A @ <YOUR_CPANEL_IP> 3600
CNAME www myproject.devs.surf 3600

3. In cPanel, navigate to DomainsCreate A New Domain.

4. Enter myproject.devs.surf. Uncheck "Share document root" and assign a dedicated folder (e.g. public_html/myproject).

5. Open SSL/TLS Status in cPanel and click Run AutoSSL to automatically issue a free Let's Encrypt / Sectigo certificate.

10

WordPress (Self-Hosted & cPanel)

Deploy a WordPress blog, staging instance, or headless CMS backend on a free Devs.Surf subdomain.

Option A: 1-Click Install via Softaculous / WP Toolkit

Once your domain is added to cPanel, open SoftaculousWordPress. Select https:// and choose myproject.devs.surf from the domain dropdown. Leave the in-directory field empty.

Option B: Existing WordPress (Fix URL & Prevent Loops)

Add these constants to the top of your wp-config.php file to immediately bind WordPress to your new subdomain:

define('WP_HOME', 'https://myproject.devs.surf');
define('WP_SITEURL', 'https://myproject.devs.surf');

For Nginx or VPS servers, pass incoming requests to PHP-FPM with try_files $uri $uri/ /index.php?$args; in your server block.

11

DNS Troubleshooting & Verification

Verify that your DNS records are actively resolved across global resolvers using terminal commands:

Check CNAME record via Google DNS:
dig CNAME myproject.devs.surf @8.8.8.8 +short
Check A record via Cloudflare DNS:
dig A myproject.devs.surf @1.1.1.1 +short

If changes do not reflect immediately on your local machine, flush your OS DNS cache or test using whatsmydns.net.

12

Frequently Asked Questions

Can I create records like api.myproject.devs.surf?

Yes. When creating a DNS record, type the subdomain prefix in the Name field (e.g. api or www).

Will my domain expire?

Active domains with configured DNS records remain yours free forever. Domains with zero records left inactive for extended periods may be automatically purged to free up names for other developers.

Is HTTPS/SSL automatically included?

Yes, when you connect to Vercel, Netlify, Cloudflare Pages, GitHub Pages, or Render, they provision free SSL certificates automatically. For VPS setups, Certbot generates certificates via Let's Encrypt for free.