Favicon of Nginx Proxy Manager

Nginx Proxy Manager

Easily manage Nginx proxy hosts with a powerful web UI. Secure your services with free, automatic SSL certificates from Let's Encrypt. Ideal for home networks.

Nginx Proxy Manager provides a straightforward and powerful web interface for managing Nginx proxy hosts. It allows you to easily expose web services running on your private network to the internet, all while prioritizing security. The configuration process is simplified through a clean and intuitive dashboard, removing the complexity of manual Nginx configuration.

This tool is packed with features designed for convenience and security:

  • Free SSL Certificates: Secure all your services at no cost using built-in Let's Encrypt support. The system handles the entire process, including automatic certificate renewals, so you never have to worry about an expired certificate again.
  • Beautiful User Interface: Based on the Tabler framework, the UI is not only functional but also a pleasure to use, making server configuration a simple and enjoyable task.
  • Docker Deployment: As a Docker image, it is incredibly easy to set up and run. It only requires a database to get started, fitting perfectly into modern containerized workflows.
  • Multi-User Access: Configure multiple user accounts with granular permissions. You can grant users full access or limit them to viewing or managing their own specific proxy hosts.

Directory Structure

nginx-proxy-manager
data
letsencrypt
mysql-data
.env
docker-compose.yml

docker-compose.yml

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    restart: unless-stopped
    ports:
      - '80:80'
      - '81:81'
      - '443:443'
    environment:
      DB_MYSQL_HOST: 'db'
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: '${DB_MYSQL_USER}'
      DB_MYSQL_PASSWORD: '${DB_MYSQL_PASSWORD}'
      DB_MYSQL_NAME: '${DB_MYSQL_NAME}'
    volumes:
      - ./data:/data
      - ./letsencrypt:/etc/letsencrypt
    depends_on:
      - db

  db:
    image: 'jc21/mariadb-aria:latest'
    restart: unless-stopped
    environment:
      MYSQL_ROOT_PASSWORD: '${MYSQL_ROOT_PASSWORD}'
      MYSQL_DATABASE: '${DB_MYSQL_NAME}'
      MYSQL_USER: '${DB_MYSQL_USER}'
      MYSQL_PASSWORD: '${DB_MYSQL_PASSWORD}'
    volumes:
      - ./mysql-data:/var/lib/mysql

.env

DB_MYSQL_USER=npm_user
DB_MYSQL_PASSWORD=your_super_secret_password
DB_MYSQL_NAME=npm_database
MYSQL_ROOT_PASSWORD=your_super_secret_root_password
Categories:

Share:

Ad
Favicon

 

  
 

Similar to Nginx Proxy Manager

Favicon

 

  
  
Favicon

 

  
  
Favicon