Shellngn with Nginx Proxy Manager for HTTPS

Shellngn with Nginx Proxy Manager for HTTPS

This is a guide to show you how to run Shellngn with Nginx Proxy Manager and generate HTTPS certificates with Let's Encrypt certificates.

What is the Nginx Proxy Manager?

The Nginx proxy manager (NPM) is a reverse proxy management system running on Docker. NPM is based on an Nginx server and provides users with a clean, efficient, and beautiful web interface for easier management. The tool is easy to set up and does not require users to know how to work with Nginx servers or SSL certificates. NPM is an open-source tool maintained by developers from around the world. It is well suited for small server environments and private lab environments. This tutorial will focus on showing you how to deploy the Shellngn Pro with Nginx proxy manager:

Step 1: Create a docker-compose.yaml file with the following content

docker-compose.yaml 
version: '3'
services:
  shellngn:
    container_name: shellngn
    image: shellngn/pro
    volumes:
      - 'shellngn-data/:/home/node/server/data'
  npm:
    image: 'jc21/nginx-proxy-manager:latest'
    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
  db:
    image: 'jc21/mariadb-aria:latest'
    environment:
      MYSQL_ROOT_PASSWORD: 'npm'
      MYSQL_DATABASE: 'npm'
      MYSQL_USER: 'npm'
      MYSQL_PASSWORD: 'npm'
    volumes:
      - ./data/mysql:/var/lib/mysql
volumes:
  shellngn-data:
    driver: local


Step 2: Run docker-compose

Open terminal and navigate to the folder with the docker-compose.yaml file. Run the following command.
docker-compose up

Step 3: Setup NPM user

Open a browser window and navigate to http://localhost:81
Use the following combination as your login account (you will be prompted to change it all once you log in):
Email:    admin@example.com 
Password: changeme




Step 4: Create Let's Encrypt Certificate

Using the SSL certificates tab you will have the option to issue your own Let's Encrypt certificate or import your existing one.


Step 5: Create the Shellngn host

Under the Proxy Hosts tab create a new host with the certificate you generated.




Step 6: Access Shellngn

At this point you should be able to access Shellngn with your domain over HTTPS.
Just open a new tab and navigate to https://example.com



    • Related Articles

    • Shellngn with Nginx and Let's Encrypt for HTTPS

      This is a guide to show you how to run Shellngn with Nginx and generate HTTPS certificates with Let's Encrypt in 4 easy steps. Step 1: Create a docker-compose.yaml file with the following content Make sure to replace example.com with your domain and ...
    • Shellngn On Docker

      Docker (www.docker.com) is an open platform making it easier to create, deploy, and run applications by using containers. This article describes the steps required to run Shellngn on Docker. With Docker, you can easily deploy Shellngn with just a ...
    • Firewall IP Whitelisting

      Shellngn Cloud enables you to connect to your server using your browser by acting as a proxy between you and your server. It will be necessary to whitelist the Shellngn IP address if your server restricts IP addresses. The following IP addresses ...
    • Setup SSO with Okta

      Login to your Shellngn Pro as administrator. Click on the menu icon and select Single Sign On (SSO) Make sure the Shellngn URL has your container address. In our example, it’s http://shellngn.corp.com:4000 Click on the sp-certificate.cer hyperlink to ...
    • Sharing Servers With Other Users

      Shellngn Pro lets you share your servers with other users. Step 1 - Create a team Login to your Shellngn Pro server as an admin user. Select "Teams" from the menu. Create a team by clicking on the "Add Team" button. Fill out the team information and ...