Nginx Proxy Manager is built on docker container. So, we need to deploy Docker first.
Update Docker Package Database. In a terminal window, type:
sudo yum check-update
Allow the operation to complete.
Remove if any docker is preinstalled with your OS-
sudo yum remove docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-selinux docker-engine-selinux docker-engine
Install the Dependencies
Type in the following command:
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
The –y switch indicates to the yum installer to answer “yes” to any prompts that may come up. The yum-utils switch adds the yum-config-manager. Docker uses a device mapper storage driver, and the device-mapper-persistent-data and lvm2 packages are required for it to run correctly.
Add the Docker Repository to CentOS
To install the edge or test versions of Docker, you need to add the Docker CE stable repository to your system. To do so, run the command:
sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
A stable release is tested more thoroughly and has a slower update cycle. On the other hand, Edge release updates are more frequent but aren’t subject to as many stability tests.
Note: If you’re only going to use the stable release, don’t enable these extra repositories. The Docker installation process defaults to the latest version of Docker unless you specify otherwise. Leaving the stable repository enabled makes sure that you aren’t accidentally updating from a stable release to an edge release.
Install Docker On CentOS Using Yum
With everything set, you can finally move on to installing Docker on CentOS 7 by running:
sudo yum install docker-ce docker-compose
The system should begin the installation. Once it finishes, it will notify you the installation is complete and which version of Docker is now running on your system.
Manage Docker Service
Although you have installed Docker on CentOS, the service is still not running. To start the service, enable it to run at startup. Run the following commands in the order listed below.
Start Docker:
sudo systemctl start docker
Enable Docker:
sudo systemctl enable docker
Check the status of the service with:
sudo systemctl status docker
Now you have a docker up and running!
Now start deploying nginx proxy manager:
nano /opt/docker-compose.yml
Paste the below yml texts-
version: '3.8' services: app: image: 'jc21/nginx-proxy-manager:latest' restart: unless-stopped ports: # These ports are in format <host-port>:<container-port> - '80:80' # Public HTTP Port - '443:443' # Public HTTPS Port - '81:81' # Admin Web Port # Add any other Stream port you want to expose # - '21:21' # FTP environment: # Mysql/Maria connection parameters: DB_MYSQL_HOST: "db" DB_MYSQL_PORT: 3306 DB_MYSQL_USER: "npm" DB_MYSQL_PASSWORD: "npm" DB_MYSQL_NAME: "npm" # Uncomment this if IPv6 is not enabled on your host # DISABLE_IPV6: 'true' volumes: - ./data:/data - ./letsencrypt:/etc/letsencrypt depends_on: - db db: image: 'jc21/mariadb-aria:latest' restart: unless-stopped environment: MYSQL_ROOT_PASSWORD: 'npm' MYSQL_DATABASE: 'npm' MYSQL_USER: 'npm' MYSQL_PASSWORD: 'npm' volumes: - ./mysql:/var/lib/mysql
Now run-
docker compose up -d
After a while docker will pull the base and other images and complete the processes. Hit-
http://<your-ip>:81
Default Administrator User is-
Email: admin@example.com Password: changeme
Immediately after logging in with this default user you will be asked to modify your details and change your password.
And now start playing.
Src:
https://phoenixnap.com/kb/how-to-install-docker-centos-7
https://stackoverflow.com/questions/26472586/upgrade-docker-on-centos-7
https://nginxproxymanager.com/setup/#initial-run