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 load a WordPress site that they will install with Infinity Tools in Chapter 11.www
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 (Arecordrecord)www→@(CNAME) so both reach themainsamedomain) pointing to their IP address, or aCNAMEif they provide one.ACNAME recordforwwwpointing to either@or a host-specific target likeyour-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 managerfiles.myinfinitytools.com- For your file storageblog.myinfinitytools.com- For your websiteadmin.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.comis 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.comAdminPassboltpanel(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-FileSyncthingsynchronization(Chapter 9)backup.mydomain.com-BackupBorgmaticmanagementstatus 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 orwebsitestaging(WordPress)WordPressdocs.mydomain.com-DocumentationDocs portalwiki.mydomain.com-builtKnowledgewithbaseBookStack or similar
Monitoring and Analytics
stats.mydomain.com-AnalyticsMatomo analytics (Matomo)Chapter 12)monitor.mydomain.com-ServerMonitoringmonitoringstack (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 yourmainInfinitydomainTools server IP (sohttps://yourdomain.comandhttps://www.yourdomain.comcan host WordPress later). - A CNAME record for
wwwpointing to@. - Individual A records for every service subdomain
you(e.g.,planvault,files,monitor) pointing toruntheself-hostedsameservicesserveron.IP.
Hetzner Cloud
If you boughtmanage yourDNS domainin through Hetzner or are using Hetzner DNS:Hetzner:
- Log into
yourthe Hetzner Cloud Console. - Go to DNS
inandthe left menu Selectselect yourdomain from the listdomain.- Click
"AddRecord"record → choose A → set Name to@and Value to your server IP → Save. ChooseAdd a"ACNAMERecord"record with Namewwwpointing to@.EnterRepeatyourAdd record → A for each service subdomainname(e.g.,vault,files)Enterandyoursetserver'stheIPsameaddressserver Click"Save"IP.
Example: To createprepare WordPress for the main domain and Vaultwarden on vault.myinfinitytools.com:
Name:@vaultType:AValue:→123.456.789.012(yourAserverrecord)www→@(CNAME)vault→123.456.789.012(A record)
Cloudflare
If you'reyou usingproxy Cloudflaretraffic forthrough DNS:Cloudflare:
- Log into
yourthe Cloudflare Dashboard. - Select your domain
Goandtoopen DNS → Records.- Click
"Addrecord"record → choose A → set Name to@, IPv4 address to your server IP, TTL Auto, Proxy status Off (DNS only) while you test → Save. ChooseAdd a"A"CNAME recordtypeforwwwpointing to@.EnterAddyourindividual A records for each service subdomainname(e.g., Enterfiles,yourvault)server's IP addressSet TTLpointing to"Auto"the Clicksame"Save"IP. You can enable the orange-cloud proxy after confirming Traefik and certificates work.
Namecheap
If you boughtregistered your domain throughwith Namecheap:
- Log into your Namecheap account.
Go toOpen Domain ListClick→ click"Manage"Manage next to yourdomaindomain.- Go to the
"AdvancedDNS"DNStabtab. ClickUnder"Host Records, click Add NewRecord"RecordChoose→ choose"ARecord"RecordEnter→your subdomain name in theset Hostfieldto Enter your server's IP address in the@, Valuefieldto Setyour server IP, TTLtoAutomatic"Automatic"Click the→ Save.- Add a CNAME Record with Host
wwwand Value@. - 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:
- Log into your GoDaddy account.
Go toOpen My ProductsFind→ locate your domainand→ click"DNS"DNS.- Click
"Add"Add in the Recordssectionsection, Choosechoose"A"A,record typeEnter your subdomain name in theset Namefieldto Enter your server's IP address in the@, Valuefieldto your server IP, TTL 1 Hour → Save.SetAddTTLa CNAME record with Namewwwpointing to"1 Hour"@.ClickAdd more"Save"A records for each service subdomain (Name =vault,files, etc.; Value = server IP).
Porkbun
If you'reyou usingmanage DNS with Porkbun:
- Log into the Porkbun Domain Management panel.
- Click Details next to your domain.
Scroll to theIn Quick DNS Configsection and, click Edit.- Add an A record with Host
for@eachandsubdomainAnswerpointing to= your server IP. - Add
oraeditCNAMEtherecord with Hostwwwand Answer@. - Add more A
/CNAMErecords foreach@andservice subdomain (Host =,wwwvaultiffiles,youetc.;hostAnswerWordPress=elsewhere.server IP). - Click Save Changes.
Google Domains / Squarespace Domains
If your domain livesis managed in Google Domains (now run by Squarespace):
- Sign in at domains.google.
- Select your domain and open the DNS tab.
- Under Custom records, click + Add record.
- Choose A, set Name to
@, Data to your server IP, TTL to the default → Save. - Add a CNAME with Name
wwwandaddData@. - Add more A records for
each@andserviceyour subdomainssubdomain (e.g.vault,, etc.)vaultfiles. ForpointingWordPress or other hosted sites, addto theCNAMEsamerecord forwwwexactly as your host requests.ClickSave.IP.
OVHcloud
If you'reyou onmanage DNS at OVH:
- Log into the OVHcloud Manager.
OpenGo to Domains → select your domain → DNS zone.- Click Add an entry
and→ choose A → set Sub-domain to@and Target to your server IP → confirm. - Add another entry: Type CNAME, Sub-domain
www, Targetyourdomain.com.(OVH will append the dot). EnterAddtheadditional A entries for each service subdomain (e.g.vault,files, etc.)andpointingyour server IP.Repeat for each subdomain and adjustto theexistingsame@/wwwrecords if WordPress provides different targets.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:
@→WordPressYourhostInfinity Tools server IPor(WordPressprovidedwillCNAMElivetargethere later)www→ CNAME pointing to@or your WordPress providervault.yourdomain.com→ Your server IP for Vaultwardenfiles.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 siteadmin.yourdomain.com→ Admin panel (use with caution, see security tips)sync.yourdomain.com→ File synchronization endpointstats.yourdomain.com→ Analytics tools like Matomomonitor.yourdomain.com→ Monitoring dashboardsbackup.yourdomain.com→ Backup management interface
Best Practices
Naming Conventions
- ✅ Use descriptive names -
vaultinstead ofapp1 - ✅ Keep them short -
filesinstead offile-storage-system - ✅ Use lowercase -
vaultnotVault - ✅ Avoid special characters - No spaces, symbols, or accents
Security Considerations
- ✅ Don't use obvious names - Avoid
adminfor sensitive services - ✅ Use random names for sensitive services -
a7b9c2instead ofadmin - ✅ Document your subdomains - Keep a list of what each one does
Troubleshooting
Subdomain Not Working
If your subdomain isn't working:
- Check the DNS record - Make sure it points to the right IP
- Wait for propagation - Give it 30 minutes to an hour
- Check for typos - Make sure the subdomain name is correct
- Test with different tools - Try
nslookupor online DNS checkers
Common Mistakes
- ❌ Including the full domain in the host field - Use
vaultnotvault.mydomain.com - ❌ Pointing your main domain to the wrong place - Double-check WordPress instructions before editing
@andwww - ❌ 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 WordPressorisanotherreadyhosttoonline 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
@andwwwtoWordPressyourorInfinityanotherToolshostserver - 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.