Introduction Link to heading

Are you still using numbers and dots to navigate through the WWW? I’m pretty sure you’re not, so why should use it then to navigate through your homelab services? That’s right, your homelab deserves better, so let me show you how you can easily attach a domain name to each of your homelab service.

Getting Nginx Proxy Manager Up And Running Link to heading

We’re gonna be using our beloved Proxmox Scripts to get started with Nginx Proxy Manager. Simply copy the script into your Proxmox Node shell and go on with the default settings, cause they’re pretty much enough for any number of services you’re going to be running. When the script is done and you see a new LXC appear in your left side bar, you’ll be pointed to an IP address of your Nginx Proxy Manager and that’s where the fun begins.

Configuring Nginx Proxy Manager Link to heading

Default Credentials Email address - [email protected] > Password - changeme

Once you log in to your proxy manager, you’ll be greeted by the screen similar to this and will be offered to change the default credentials.

Nginx Proxy Manager Main Page

Keep in mind, you need to put in a real email address for certificates to generate successfully.

Once done, you should head out to SSL Certificates tab and press Add SSL Certificate and choose Let’s Encrypt.

Nginx Proxy Manager Certificate Generation Modal

Let’s say your domain is example.com, in this case you’d fill Domain Names with

*.example.com

So that all the subdomains are managed by our Nginx Proxy Manager.

Next part is, make sure you switch Use a DNS Challenge and choose your DNS Provider, I’m going to be covering Cloudflare case.

Configuring Cloudflare Side Link to heading

Once you’re logged in to your Cloudflare dashboard, head to your profile and API Tokens.

Cloudflare User API Tokens Interface

Here you want to create a custom API token with any name you’d like and configure it the same way as shown.

Token required permissions screenshot

After creating the token, save it somewhere, you’ll need it in a bit, now go to DNS configuration of your domain and set an A record the same way as shown.

Cloudflare A record adding style

And do the same for the domain root.

Cloudflare A record adding style

Now you can go back to Nginx Proxy Manager and add the token you created instead of the placeholder one.

Configuring Nginx Proxy Manager To Use Cloudflare As DNS Provider

Make sure to have propagation seconds of 120 or more.

At this moment, you have almost finished setting up the proxy manager. One last thing you need to do is adding your hosts.

Adding The Hosts Link to heading

At this moment, you can add some service from your homelab to the Nginx Proxy Manager. Let’s suppose you want to access Proxmox via domain name.

Adding a new host to Nginx Proxy Manager

One major thing to consider is whether your service is running via HTTP or HTTPS initially.

If your service generates it’s own certificate and runs on HTTPS, select HTTPS in the dropdown, otherwise leave HTTP

After this, go to SSL tab and select your SSL certificate that you’ve generated and switch the Force SSL and HTTP/2 Support switches, so that it looks like this.

Configuring SSL for the new host

At this point, you can already use your domain name to access the service and no more SSL warnings. Voila!


Thank you for taking the time to read :)

If you enjoyed the article, you’re welcome to join the Discord community.