Skip to main content

Excourse: Domains and Subdomains

Infinity Tools helps you self-host everything—including your future WordPress site. Before you install Traefik or any self-hosted applications, maketake surea moment to decide how your domain setupshould ispoint solid.to Thisyour server. In this chapter explainsyou'll howset to pointup your main domain to(even the place you want visitors to land (often aif WordPress site)isn't running yet) and howmap toout createthe subdomains foreach theInfinity servicesTools you'llapp runwill on your server.use.

Why this chapter moved earlier:now? PlanningGetting DNS ready right after installing Infinity Tools (Chapter 2) means Traefik can issue certificates instantly, your domainsapps beforecome online with friendly URLs, and you touchwon't yourhave serverto savespause time,mid-install avoidsto SSLfix headaches,domain and helps you launch with a professional-looking setup from the start.problems.

StartDecide withWhere Your Main Domain Should Go

Your main domain (also called the apex domain or root domain) is what people type to reach your primary site,site—for e.g.,example, myinfinitytools.com. Decide what should load there first. ManyMost beginners wantfollowing this toguide serve their public website, often powered by managed WordPress hosting.

Typical Beginner Setup

  • Main domain: Points to hosted WordPress or another website builder.
  • www subdomain: Usually points to the same place as the main domain.
  • Service subdomains: Point to your self-hosted server (Vaultwarden, Nextcloud, etc.).

If you already have WordPress hosting, your provider will give you the DNS records to use. Keep those forwant the main domain andto wwwload a WordPress site that they will install with Infinity Tools in Chapter 11.

No WordPress Yet? That's OK.

Even though WordPress isn't installed yet, point your main domain to the server where Infinity Tools runs. Until WordPress is live you'll see Traefik's default page (or a simple placeholder), thenwhich addis newperfectly fine.

You'll create two records for each self-hosted service you plan to deploy.

Pointing the Main Domain to WordPress

Most managed WordPress hosts (WordPress.com, Kinsta, Flywheel, SiteGround, etc.) will ask you to create:now:

  • An@ → your server's public IP address (A recordrecord)
  • for
  • www → @ (CNAME) so both reach the mainsame domain) pointing to their IP address, or a CNAME if they provide one.
  • A CNAME record for www pointing to either @ or a host-specific target like your-site.wordpress.com.place

SetLater, upwhen you install WordPress with Traefik integration, Infinity Tools will automatically use these two records first.to Onceserve your mainnew site works,over continue with the rest of this guide to add subdomains for your self-hosted apps.HTTPS.

What is a Subdomain? (Beginner-Friendly)

A subdomain is like a separate address within your main website. Think of it as different rooms in the same house - each room has its own purpose, but they're all part of the same building.

Examples of subdomains:

  • vault.myinfinitytools.com - For your password manager
  • files.myinfinitytools.com - For your file storage
  • blog.myinfinitytools.com - For your website
  • admin.myinfinitytools.com - For your admin panel

Important Note:

From a security standpoint, it is considered poor practice to use obvious subdomain names (like “admin” or “files”) for sensitive services such as administration panels or data storage. Such names reveal potentially valuable targets to attackers during reconnaissance and were chosen here for illustration purposes.

Breaking Down a Subdomain

Let's look at vault.myinfinitytools.com:

  • vault - This is the subdomain (the "room")
  • myinfinitytools - This is your domain name (the "house")
  • com - This is the top-level domain (the "neighborhood")

Why Do We Need Subdomains?

Subdomains help organize your services and make them easier to access:

  • Easy to remember - vault.mydomain.com is clear
  • Professional looking - Each service has its own address
  • SSL certificates work better - Each subdomain gets its own certificate
  • Easy to manage - You can move services around easily

Without subdomains: You'd have to use ports like mydomain.com:8080 or mydomain.com:3000 - much harder to remember!

Plan Your Subdomains

Start a simple list of the services you plan to run.run with Infinity Tools. These examples match the chapters you'll follow later. You can inspirealways youradd ownmore namingsubdomains scheme:later.

Security Services

  • vault.mydomain.com - Password managerVaultwarden (Vaultwarden)Chapter 7)
  • admin.pass.mydomain.com - AdminPassbolt panel(Chapter 8)
  • vpn.mydomain.com - VPN or remote access gateway

File and Storage Services

  • files.mydomain.com - File storageNextcloud (Nextcloud)Chapter 10)
  • sync.mydomain.com - FileSyncthing synchronization(Chapter 9)
  • backup.mydomain.com - BackupBorgmatic managementstatus or backup dashboard

Web and Content Services

  • www.mydomain.com - Redirect to your main domain once WordPress is live (Chapter 11)
  • blog.mydomain.com - BlogAlternate marketing site or websitestaging (WordPress)WordPress
  • docs.mydomain.com - Documentation
  • Docs
  • wiki.mydomain.comportal -built Knowledgewith baseBookStack or similar

Monitoring and Analytics

  • stats.mydomain.com - AnalyticsMatomo analytics (Matomo)Chapter 12)
  • monitor.mydomain.com - ServerMonitoring monitoringstack (Uptime Kuma, Grafana, etc.)
  • status.mydomain.com - StatusPublic status page

How to Create Subdomains

The process varies by hosting provider, but the general steps are the same. Create DNS records thatalways: point your main domain@ and www to theyour correctInfinity hostTools (WordPress, static site, etc.),server, then addcreate separatematching records for eachevery subdomain thatTraefik shouldwill resolve to your self-hosted server.serve.

Step 1: Get Your Server's IP Address

First, you need to know your server's IP address. You can find this in your server provider's dashboard or by running this command on your server:

curl ifconfig.me

This will show you your server's public IP address (something like 123.456.789.012).

Step 2: Access Your DNS Management

Log into your domain registrar or hosting provider and look for:

  • DNS Management
  • DNS Settings
  • Domain Management
  • Name Servers

Provider-Specific Instructions

Below are examples from popular registrars and DNS hosts. TheInterfaces screens change over time,change, but the record types stay the same. UseFor theseeach stepsprovider, you'll create:

  • An A record for @ pointing to your mainInfinity domainTools server IP (so https://yourdomain.com and https://www.yourdomain.com can host WordPress later).
  • A CNAME record for www pointing to @.
  • Individual A records for every service subdomain you(e.g., planvault, files, monitor) pointing to runthe self-hostedsame servicesserver on.

    IP.

Hetzner Cloud

If you boughtmanage yourDNS domainin through Hetzner or are using Hetzner DNS:Hetzner:

  1. Log into yourthe Hetzner Cloud Console.
  2. Go to DNS inand the left menu
  3. Selectselect your domain from the listdomain.
  4. Click "Add Record"record → choose A → set Name to @ and Value to your server IP → Save.
  5. ChooseAdd a "ACNAME Record"record with Name www pointing to @.
  6. EnterRepeat yourAdd record → A for each service subdomain name (e.g., vault, files)
  7. Enterand yourset server'sthe IPsame address
  8. server
  9. Click "Save"IP.

Example: To createprepare WordPress for the main domain and Vaultwarden on vault.myinfinitytools.com:

  • Name:@ vault
  • Type: A
  • Value: 123.456.789.012 (yourA serverrecord)
  • IP)
  • www → @ (CNAME)
  • vault → 123.456.789.012 (A record)

Cloudflare

If you'reyou usingproxy Cloudflaretraffic forthrough DNS:Cloudflare:

  1. Log into yourthe Cloudflare Dashboard.
  2. Select your domain
  3. Goand toopen DNS → Records.
  4. Click "Add record"record → choose A → set Name to @, IPv4 address to your server IP, TTL Auto, Proxy status Off (DNS only) while you test → Save.
  5. ChooseAdd a "A"CNAME record typefor www pointing to @.
  6. EnterAdd yourindividual A records for each service subdomain name
  7. (e.g.,
  8. Enterfiles, yourvault) server's IP address
  9. Set TTLpointing to "Auto"
  10. the
  11. Clicksame "Save"IP. You can enable the orange-cloud proxy after confirming Traefik and certificates work.

Namecheap

If you boughtregistered your domain throughwith Namecheap:

  1. Log into your Namecheap account.
  2. Go toOpen Domain List
  3. Click→ click "Manage"Manage next to your domaindomain.
  4. Go to the "Advanced DNS"DNS tabtab.
  5. ClickUnder "Host Records, click Add New Record"Record
  6. Choose→ choose "A Record"Record
  7. Enter your subdomain name in theset Host field
  8. to
  9. Enter your server's IP address in the@, Value field
  10. to
  11. Setyour server IP, TTL toAutomatic "Automatic"
  12. Click the Save.
  13. icon
  14. Add a CNAME Record with Host www and Value @.
  15. Add more A Records for each service subdomain (e.g., vault, files) pointing to the same IP.

GoDaddy

If you're using GoDaddy:GoDaddy DNS:

  1. Log into your GoDaddy account.
  2. Go toOpen My Products
  3. Find→ locate your domain and click "DNS"DNS.
  4. Click "Add"Add in the Records section
  5. section,
  6. Choosechoose "A"A, record type
  7. Enter your subdomain name in theset Name field
  8. to
  9. Enter your server's IP address in the@, Value fieldto your server IP, TTL 1 Hour → Save.
  10. SetAdd TTLa CNAME record with Name www pointing to "1 Hour"@.
  11. ClickAdd more "Save"A records for each service subdomain (Name = vault, files, etc.; Value = server IP).

Porkbun

If you'reyou usingmanage DNS with Porkbun:

  1. Log into the Porkbun Domain Management panel.
  2. Click Details next to your domain.
  3. Scroll to theIn Quick DNS Config section and, click Edit.
  4. Add an A record with Host for@ eachand subdomainAnswer pointing to= your server IP.
  5. Add ora editCNAME therecord with Host www and Answer @.
  6. Add more A/CNAME records for @each andservice subdomain (Host = wwwvault, iffiles, youetc.; hostAnswer WordPress= elsewhere.server IP).
  7. Click Save Changes.

Google Domains / Squarespace Domains

If your domain livesis managed in Google Domains (now run by Squarespace):

  1. Sign in at domains.google.
  2. Select your domain and open the DNS tab.
  3. Under Custom records, click + Add record.
  4. Choose A, set Name to @, Data to your server IP, TTL to the default → Save.
  5. Add a CNAME with Name www and addData @.
  6. Add more A records for @each andservice your subdomainssubdomain (e.g.vault, vaultfiles, etc.).
  7. Forpointing WordPress or other hosted sites, addto the CNAMEsame record for www exactly as your host requests.
  8. Click Save.IP.

OVHcloud

If you'reyou onmanage DNS at OVH:

  1. Log into the OVHcloud Manager.
  2. OpenGo to Domains → select your domain → DNS zone.
  3. Click Add an entry and choose A → set Sub-domain to @ and Target to your server IP → confirm.
  4. Add another entry: Type CNAME, Sub-domain www, Target yourdomain.com. (OVH will append the dot).
  5. EnterAdd theadditional A entries for each service subdomain (e.g.vault, files, etc.) andpointing your server IP.
  6. Repeat for each subdomain and adjustto the existingsame @/www records if WordPress provides different targets.
  7. Confirm changes.IP.

Understanding DNS Propagation

After creating a subdomain, it takes time for the change to spread across the internet. This is called DNS propagation.

How Long Does It Take?

  • Usually: 5-30 minutes
  • Sometimes: Up to 24 hours
  • Rarely: Up to 48 hours

How to Check if It's Working

You can test if your subdomain is working by visiting it in your browser:

  • Go to https://vault.yourdomain.com
  • If you see a page (even an error), the subdomain is working
  • If you get "This site can't be reached", it's still propagating

Testing with Command Line

You can also test from your server:

# Test if subdomain resolves
nslookup vault.yourdomain.com

# Test if it points to your server
dig vault.yourdomain.com

Create Your Domain Checklist

Before installing applications, map out every DNS record you want in place. This keeps your launch organized and helps you avoid downtime on your main site.

Essential Records

These are the records most beginners configure on day one:

  • @WordPressYour hostInfinity Tools server IP or(WordPress providedwill CNAMElive targethere later)
  • www → CNAME pointing to @ or your WordPress provider
  • vault.yourdomain.com → Your server IP for Vaultwarden
  • files.yourdomain.com → Your server IP for Nextcloud or file storage

Optional Subdomains

Add these after your core services are live:

  • blog.yourdomain.com → Alternate blog or marketing site
  • admin.yourdomain.com → Admin panel (use with caution, see security tips)
  • sync.yourdomain.com → File synchronization endpoint
  • stats.yourdomain.com → Analytics tools like Matomo
  • monitor.yourdomain.com → Monitoring dashboards
  • backup.yourdomain.com → Backup management interface

Best Practices

Naming Conventions

  • Use descriptive names - vault instead of app1
  • Keep them short - files instead of file-storage-system
  • Use lowercase - vault not Vault
  • Avoid special characters - No spaces, symbols, or accents

Security Considerations

  • Don't use obvious names - Avoid admin for sensitive services
  • Use random names for sensitive services - a7b9c2 instead of admin
  • Document your subdomains - Keep a list of what each one does

Troubleshooting

Subdomain Not Working

If your subdomain isn't working:

  1. Check the DNS record - Make sure it points to the right IP
  2. Wait for propagation - Give it 30 minutes to an hour
  3. Check for typos - Make sure the subdomain name is correct
  4. Test with different tools - Try nslookup or online DNS checkers

Common Mistakes

  • Including the full domain in the host field - Use vault not vault.mydomain.com
  • Pointing your main domain to the wrong place - Double-check WordPress instructions before editing @ and www
  • Wrong IP address - Make sure you're using your server's public IP
  • Wrong record type - Use "A" record, not "CNAME" for IP addresses
  • Not saving the record - Make sure to click "Save" after creating

Quick Reference

Find your server IP:

curl ifconfig.me

Verify your main domain record:

nslookup yourdomain.com

Test subdomain resolution:

nslookup vault.yourdomain.com

Test from browser:

https://vault.yourdomain.com

Tip: Until WordPress or another app is installed you'll likely see Traefik's default page at your main domain. That's expected.

You're Ready!

Now you understand how to prepare both your main domain and subdomains! This knowledge will be essential as you install applications like Vaultwarden, Nextcloud, and connect your WordPress site.

What you learned:

  • How to point your main domain - KeepAim it at your Infinity Tools server so WordPress oris anotherready hostto online while you self-host serviceslaunch
  • What subdomains are - Separate addresses for different services
  • How to plan them - Build a checklist before installing apps
  • How to create DNS records - Step-by-step instructions for popular providers
  • How to test everything - Browser and command-line methods

Next step: You'reMove readyon to continueChapter with3 your(Setting installationUp chapters.Your AsFoundation). you deploy each application, come back toKeep this checklist andhandy—each createtime you install an app, add or confirm the subdomain you planned for it.planned.

What You Learned

  • Main domain setup - How to point @ and www to WordPressyour orInfinity anotherTools hostserver
  • Subdomains - Separate addresses for different services on your domain
  • DNS Records - How to point each subdomain to your server
  • DNS Propagation - How long it takes for changes to take effect
  • Testing Methods - How to verify both main and subdomains are working
  • Planning - How to organize your services with a checklist

You now have the foundation knowledge needed to set up professional-looking, organized services on your server!


Next: ProceedChapter with3 your- chosenSetting installationUp chapterYour (e.g., Vaultwarden) now that your domains are ready.Foundation.