Toggle menu
Toggle personal menu
Not logged in
Your IP address will be publicly visible if you make any edits.

Subdomains and Custom Domains

From Nest Guides
Revision as of 04:57, 11 September 2024 by David (talk | contribs) (Update caddy page to include optional flags + correct info)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Whilst a subdomain of https://hackclub.app is automatically configured for you when you sign up for Nest, you'll need to use the Nest CLI to configure new subdomains under your user subdomain (https://<username>.hackclub.app).

Subdomains

To configure any subdomains of your user subdomain of hackclub.app, you can simply run the following command where name is the name of the subdomain you want to add. For example, if your username is orpheus, and you'd like to configure drawing.orpheus.hackclub.app, then you would run nest caddy add drawing.orpheus.hackclub.app.

nest caddy add <name>.<username>.hackclub.app

The Nest CLI will automatically configure the subdomain in the system, but you'll need to add a block to your Caddyfile to get you started. It will give you a connection string which looks like unix//home/<username>/.webserver.sock. Take that UNIX socket and add it to your Caddyfile like this:

http://<name>.<username>.hackclub.app {
    bind <socket>|777
    # Add other directives here.
}

See Caddy for more information about the Caddyfile.

Note: If you have something that is listening on a port, you can specify the --proxy flag to redirect traffic there instead.

nest caddy add <name>.<username>.hackclub.app --proxy localhost:12345

If you'd like to remove a subdomain from the configuration, you can run the following command which will remove it from your account.

nest caddy rm <name>.<username>.hackclub.app

Custom Domains

As well as having your https://<username>.hackclub.app subdomain, you can link a custom domain to your user account.

To configure a domain for your user account, add a CNAME record to your domain pointing to <username>.hackclub.app. For example, if your username was orpheus, you'd set your CNAME to orpheus.hackclub.app. If you're using Cloudflare or similar providers that reverse-proxies requests, make sure to disable proxying (on Cloudflare, this is the orange cloud).

If you're using a root domain and you can't add a CNAME, you can also add an ALIAS record (or manually add the A and AAAA records if you're feeling spicy). Set your ALIAS record to hackclub.app, or set your A record to 37.27.51.34 and AAAA record to 2a01:4f9:3081:399c::4.

Once you've followed either of those and the DNS has propagated, you can link the domain to your user account by running the following command. For example, orpheus may run nest caddy add orpheus.com.

Important: You need to set the "domain-verification" TXT record to your username as verification.

nest caddy add <domain>

Once you've ran this command and it succeeded, congrats! You've now successfully linked your domain to your user account! The Nest CLI, just like with subdomains, has configured your domain. Like above, you'll need to modify the Caddyfile yourself. See the Caddy page for more information about the Caddyfile.

If you'd ever like to remove a domain from your user account, you can run the following command which will remove it from your account

nest caddy remove <domain>