Nginx Proxy Manager is a powerful tool that helps in managing Nginx reverse proxy, load balancer, and SSL/TLS encryption for your web applications. In this tutorial, we are going to install Nginx Proxy Manager on POP! OS, which is one of the popular Linux distributions that is based on Ubuntu.
Before we start the installation process, you need to make sure that you have the following requirements:
Nginx Proxy Manager is a Docker-based application. Therefore, to install it, you need to install Docker on your POP! OS system. To do that, follow these steps:
sudo apt update
sudo apt install apt-transport-https ca-certificates curl software-properties-common
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable"
sudo apt update
sudo apt install docker-ce
Once the installation is complete, you can check the Docker version with the command:
docker version
To install Nginx Proxy Manager on POP! OS, follow these steps:
mkdir nginx-proxy-manager
cd nginx-proxy-manager
docker-compose.yml
:nano docker-compose.yml
docker-compose.yml
file:version: "3"
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
restart: always
ports:
- '80:80'
- '81:81'
- '443:443'
environment:
DB_MYSQL_HOST: "db"
DB_MYSQL_PORT: 3306
DB_MYSQL_USER: "npm"
DB_MYSQL_PASSWORD: "npm"
DB_MYSQL_NAME: "npm"
volumes:
- ./data:/data
- ./letsencrypt:/etc/letsencrypt:rw
depends_on:
- db
networks:
- app-network
db:
image: 'jc21/mariadb-aria:latest'
restart: always
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
networks:
- app-network
networks:
app-network:
Save and close the docker-compose.yml
file.
Start Nginx Proxy Manager using the following command:
sudo docker-compose up -d
This command will download and start the Nginx Proxy Manager container. It may take a few minutes to complete.
sudo docker ps
You should see something like this:
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
54ab7b59dbdc jc21/nginx-proxy-manager "/init" 16 seconds ago Up 15 seconds 0.0.0.0:80->80/tcp, 0.0.0.0:81->81/tcp, nginx-proxy-manager_app_1
0.0.0.0:443->443/tcp
a6d93312b9bf jc21/mariadb-aria "/scripts/init.sh" 17 seconds ago Up 16 seconds 3306/tcp nginx-proxy-manager_db_1
Now that Nginx Proxy Manager is up and running, you can access it by visiting http://<YourServerIP>:81
or https://<YourServerIP>
in your web browser.
Conclusion
That's it! You have successfully installed Nginx Proxy Manager on POP! OS. Now, you can start using it to manage your Nginx reverse proxy, load balancer, and SSL/TLS encryption for your web applications.
If you want to self-host in an easy, hands free way, need an external IP address, or simply want your data in your own hands, give IPv6.rs a try!
Alternatively, for the best virtual desktop, try Shells!