Skip to main content

NGINX Proxy Manager

NGINX PM.jpeg

What is Nginx Proxy Manager?

Nginx Proxy Manager is a Docker application that lets you quickly and easily expose your selfhosted services to the outside world. NPM includes Letsencrypt SSL certificate management, which permits you to obtain free SSL certificates for secure hosting of your sites.

Installation

Create a docker-compose.yml file:

version: "3" 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:       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:       - ./data/mysql:/var/lib/mysql

Please note, that DB_MYSQL_* environment variables will take precedent over DB_SQLITE_* variables. So if you keep the MySQL variables, you will not be able to use SQLite. #