Nginx Proxy Manager - Install on Ubuntu

Step 1: Update Your System

Begin by updating your system to ensure all existing packages are up-to-date:

sudo apt update && sudo apt upgrade -y

Step 2: Install Docker Engine

Install Docker on Ubuntu by following these steps:

  1. Install necessary packages to allow apt to use a repository over HTTPS:

    sudo apt install apt-transport-https ca-certificates curl software-properties-common -y
  2. Add Docker’s official GPG key:

    curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg
  3. Add the Docker repository to APT sources:

    echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null
  4. Install Docker Engine:

    sudo apt update && sudo apt install docker-ce docker-ce-cli containerd.io -y

Step 3: Verify Docker Compose Installation

Docker Compose v2 integrates with the Docker CLI, simplifying multi-container Docker applications' management.

docker compose version

This command should output the version of Docker Compose installed, indicating it's ready for use.

Step 4: Set Up Nginx Proxy Manager

With Docker ready, proceed to set up Nginx Proxy Manager:

  1. Create a directory for Nginx Proxy Manager and navigate into it:

    mkdir -p ~/nginx-proxy-manager && cd ~/nginx-proxy-manager
  2. Create a docker-compose.yml file in this directory. Open it with a text editor like nano:

    nano docker-compose.yml
  3. Paste the following Docker Compose configuration, which defines the Nginx Proxy Manager service and its necessary volumes:

    version: '3'
    services:
      app:
        image: 'jc21/nginx-proxy-manager:latest'
        restart: unless-stopped
        ports:
          - '80:80'
          - '81:81'
          - '443:443'
        volumes:
          - ./data:/data
          - ./letsencrypt:/etc/letsencrypt
  4. Save and exit the editor (CTRL+X, then Y to confirm, and Enter to save).

Step 5: Start Nginx Proxy Manager

Launch Nginx Proxy Manager using Docker Compose:

docker compose up -d

Step 6: Access the Web Interface

After the containers start, access the Nginx Proxy Manager web interface by navigating to http://<your-server-ip>:81 in a web browser. Log in using the default credentials ([email protected] / changeme) and follow prompts to secure your account with a new password.

The next article covers adding a Proxy Host via the NPM Web Interface.

Last updated