Nginx Proxy Manager
Nginx Proxy Manager is a free, open-source proxy manager that provides a user-friendly interface for managing proxy hosts with integrated Let’s Encrypt SSL certificates. It simplifies web service management through an intuitive interface, eliminating the need for manual configuration of files or SSL certificates.
The project runs as a Docker container and requires only a database for operation.
Preparation
Docker network
First, create a Docker network to eliminate the need for exposing ports for individual services. Only ports 80 and 443 are typically required for the proxy manager.
Create directory
Environment variables
Some environment variables are needed to configure the proxy manager.
Installation
The installation is done via Docker Compose.
Proxy-Host
The GUI should be available under the ip-address of the server and port 81.
If you have a domain routed to the server, you can create the first proxy host. You can buy an externaldomain on Netcup from € 5 a year. A .com-Domain costs nearly € 14 a year. (affiliate link)
Now you should be able to access the Nginx Proxy Manager dashboard under the domain you entered.
Access List
Maybe you should not allow worldwide access for some services. For this purpose there is the Access List function.
With the access list as shown on the image only access from private network is allowed.
SSL
After creating a proxy host, you can also request a Letsencrypt certificate for it via the interface.
Port publish
If the proxy host provides a connection to the Nginx proxy manager, the port publishing of port 81 is no longer needed, the docker-compose.yml can be adjusted.
Beispieldienst
You can connect another host with a proxy host. In this example we will set up a web server.
Now you have to configure a new proxy host in Nginx Proxy Manager with the hostname
homepage and port 80
.
You can enter the new site under homepage.domain.de
.
Update
Thanks to Docker and Docker Compose, updating is easy.