Nginx proxy manager

Nginx proxy manager

Nginx Proxy Manager is a web-based graphical user interface (GUI) for managing Nginx, a popular open-source web server and reverse proxy server. It simplifies the process of configuring Nginx as a reverse proxy to route incoming web traffic to various backend services or websites. Nginx Proxy Manager is particularly useful for users who want to set up proxy servers, handle SSL/TLS certificates, and manage domain routing without needing to manually edit Nginx configuration files. It provides an intuitive interface to streamline these tasks and make web server management more accessible.

version: "3"

services:

  app:
    image: "jc21/nginx-proxy-manager:latest"
    container_name: nginxpm_app
    restart: unless-stopped
    ports:
      - "8080:80" # set your router to forward=> 80 -> 8080
      - "[port]:81"
      - "4443:443" # set your router to forward=> 443 -> 4443
    environment:
      PUID: 1000
      PGID: 1000
      TZ: "Europe/Zurich"
      DB_MYSQL_HOST: "db"
      DB_MYSQL_PORT: 3306
      DB_MYSQL_USER: "[user_name]"
      DB_MYSQL_PASSWORD: "[db_password]"
      DB_MYSQL_NAME: "[db_name]"
    volumes:
      - /home/[user]/docker/nginxpm/data:/data
      - /home/[user]/docker/nginxpm/letsencrypt:/etc/letsencrypt
    labels:
      - com.centurylinklabs.watchtower.enable = "false" # if you want to disallow watchtower to upgrade this container
    depends_on:
      - db

  db:
    image: "ghcr.io/linuxserver/mariadb"

    container_name: nginxpm_db
    restart: unless-stopped
    environment:
      PUID: 1000
      PGID: 1000
      TZ: "Europe/Zurich"
      MYSQL_ROOT_PASSWORD: "[db_root_password]"
      MYSQL_DATABASE: "[db_name]"
      MYSQL_USER: "[user_name]"
      MYSQL_PASSWORD: "[db_password]"
    volumes:
      - /home/[user]/docker/nginxpm/mysql:/config
    labels:
      - com.centurylinklabs.watchtower.enable = "false" # if you want to disallow watchtower to upgrade this container

Copy

NOTE:
[user] Corresponds to the folder of you user in your system
[port] The desired port you'd like to map the host
[user_name] -> The desired username for the db
[db_password] -> Database password
[db_root_password] -> Password for the root user