PodWarden
PodWarden Hub

Hub DDNS Subdomains

Get a public URL for your homelab with Hub-managed DDNS subdomains

Overview

PodWarden Hub provides managed DDNS subdomains — the fastest way to get a public URL for your self-hosted workloads. No DNS provider accounts, no API tokens, no zone configuration. Connect to Hub, allocate a subdomain, and your workload is reachable from the internet.

How It Works

  1. Hub manages DNS domains (e.g. vxloc.com, ichinichi.ai) via Cloudflare
  2. Your PodWarden instance allocates a subdomain (e.g. swift17.vxloc.com)
  3. Hub creates a Cloudflare A record pointing to your public IP
  4. PodWarden detects IP changes every 5 minutes and pushes updates to Hub
  5. Hub updates the Cloudflare record automatically

The DNS records are set to DNS-only mode (not proxied through Cloudflare) so your gateway node handles TLS directly via Let's Encrypt.

Allocating a Subdomain

From PodWarden (Recommended)

  1. Go to Settings > Hub in your PodWarden instance
  2. Make sure Hub is connected (URL and API key configured)
  3. Scroll to the Hub DDNS Subdomains section
  4. Click Allocate
  5. Select a domain from the dropdown
  6. Optionally enter a custom slug (Pro and above)
  7. Click Allocate

Your subdomain is created immediately and appears in the list.

From Hub Dashboard

  1. Sign in at www.podwarden.com
  2. Go to Dashboard > DDNS
  3. Click Allocate Subdomain
  4. Select a domain and optionally enter a custom slug
  5. Click Allocate

Note: Subdomains allocated from the Hub dashboard need to be updated with your IP. The PodWarden instance handles this automatically when using the Settings > Hub method.

Subdomain Naming

Auto-Generated (All Plans)

By default, subdomains are auto-generated using a word + number pattern:

  • swift17.vxloc.com
  • pulse42.ichinichi.ai
  • echo8.vxloc.com

Names are short, memorable, and guaranteed unique. The generator picks from ~200 common words and appends a random number 1-99.

Custom Slugs (Pro and Above)

On paid plans, you can choose your own slug:

  • myapp.vxloc.com
  • homelab.ichinichi.ai
  • api.vxloc.com

Custom slug rules:

  • 3-30 characters
  • Lowercase letters, numbers, and hyphens only
  • Cannot start or end with a hyphen
  • Certain reserved words are blocked (e.g. www, api, admin, mail)

Managing Subdomains

Viewing Status

Each subdomain shows:

  • FQDN — the full domain name
  • IP Address — the current A record value
  • Statusactive, pending, error, or suspended
  • Last Updated — when the IP was last pushed
  • Slug Typeauto or custom

Updating IP

From PodWarden (Settings > Hub > DDNS Subdomains):

  • Click the wifi icon on any subdomain to push your current public IP
  • The DDNS update loop also does this automatically every 5 minutes

From Hub Dashboard:

  • IP updates happen when your PodWarden instance pushes them via the API

Releasing a Subdomain

  1. Click the trash icon on any subdomain
  2. Confirm the release
  3. The Cloudflare A record is deleted and the subdomain becomes available for others

Released subdomains free up your quota and can potentially be claimed by another organization.

Tier Limits

FeatureFreePro ($19/mo)Business ($79/mo)Enterprise
DDNS subdomains150UnlimitedUnlimited
Custom slugsNoYesYesYes
Bring your own domainNoNoYesYes

Free Tier

One subdomain with an auto-generated name. Ideal for homelabs that need a single public entry point — use path-based routing in your ingress rules to serve multiple workloads from one subdomain.

Pro Tier

Up to 50 subdomains with custom slug support. Each workload can have its own subdomain (e.g. nextcloud.vxloc.com, gitea.vxloc.com).

Business & Enterprise

Unlimited subdomains. Business adds Bring Your Own Domain (BYOD) — point your own domain to a Hub-managed subdomain via CNAME.

Using with Ingress Rules

After allocating a subdomain, create an ingress rule to route traffic to your workload:

  1. From PodWarden Settings > Hub > DDNS Subdomains: Note the FQDN of your subdomain

  2. Go to Ingress > Create Rule:

    • Domain: your subdomain FQDN (e.g. swift17.vxloc.com)
    • deployment: select the workload
    • Backend Port: the container port
    • Gateway Host: your gateway node
    • TLS: enabled (Caddy handles Let's Encrypt)
  3. Apply the Caddy config and verify

For a complete walkthrough, see Ingress, Gateway Nodes & DDNS.

Available Domains

Hub currently offers subdomains on these domains:

DomainNotes
vxloc.comGeneral purpose
ichinichi.aiAI/ML workloads

More domains may be added over time. The domain list is shown when allocating a subdomain.

Troubleshooting

Subdomain shows "pending" status

The IP hasn't been pushed yet. From PodWarden Settings > Hub, click the wifi icon to push your current IP manually. The automatic update loop runs every 5 minutes.

Subdomain shows "error" status

Check the error message displayed below the subdomain. Common causes:

  • Hub can't reach Cloudflare (temporary API issue — try again)
  • Invalid IP address format
  • Cloudflare zone misconfiguration (contact Hub admin)

DNS not resolving after IP update

DNS propagation takes time. Most resolvers update within 5 minutes (TTL is set to 300 seconds), but some ISP resolvers cache longer. Try:

  • dig swift17.vxloc.com to check the current A record
  • Wait 5-10 minutes for propagation
  • Use 1.1.1.1 or 8.8.8.8 as your DNS resolver for faster updates

"Max subdomains reached" error

Your subscription tier's limit has been reached. Either:

  • Release an unused subdomain
  • Upgrade your plan for more subdomains
  • Use path-based routing to serve multiple workloads from one subdomain