One of my latest endeavours, I’ve created a UI to manage my home webserver specifically for enabling SSL support through Letsencrypt.

The Nginx Proxy Manager is a basic interface for beginners and advanced users to create different types of Hosts to proxy their incoming home network traffic.

This project comes as a precompiled Docker image. See the Github project for instructions.

There are currently 4 types of Hosts you can create:

Proxy Host

Simply, a HTTP/S host to pass through to a local running server. For example, I have a self hosted Bitbucket Server which runs on port 7990. I don’t want to have to remember that port all the time, so I proxy it through and access it via a Cname.

Redirection Host

When you don’t want to proxy but instead want to redirect all trafic to another host. Useful if you change hostnames for a service but still have old incoming links out in the wild.

404 Host

I’ve been running services from my home network for years. I still get hits from old indexed data on domains I no longer use. With a 404 host, I immediately return 404’s for any url and hope that the referring sites get the message.

Stream Host

This is a special type of host. It doesn’t require a DNS hostname but instead it will proxy through any TCP/UDP traffic on a specific port to another server on your network. For example, that previously mentioned Bitbucket Server also opens port 7999 for SSH connections. Since I’m not running Bitbucket on the same server as this proxy software, yet I still want the Cname to point to the proxy, this ensures I can just pass on any traffic that ends up here too.