Skip to main content

Nginx Proxy Manager (NPM)

image.png

Nginx Proxy Manager (NPM) es una interfaz de administración de Nginx que permite exponer servicios de una manera sencilla y segura usando certificados de Let's Encrypt.

Enlaces

Nginx Proxy Manager

Requisitos

Imagen

Repositorio de Docker Hub: jc21/nginx-proxy-manager - Docker Image | Docker Hub

Portainer- Nueva «Red»

Desde el menú Networks click "Add network": Name "proxy" Driver "bridge"

newred.gif

Portainer- Nuevo «stack»

Add a new stack | 2.20 | Portainer Documentation

Web editor

En Portainer «Stack» agregamos nuevo usando el editor WEB pegando el contenido del fichero «docker-compose.yml» y el contenido del fichero de variables2.15-docker_add_stack_web_editor.gif

Fichero de variables «.env»

TZ=Europe/Madrid
X_FRAME_OPTIONS=sameorigin

Fichero docker-compose.yml

services:
  npm:
    image: docker.io/jc21/nginx-proxy-manager
    container_name: npm
    restart: unless-stopped
    env_file: stack.env
    ports:
      - 80:80 # Public HTTP Port
      - 443:443 # Public HTTPS Port
      - 81:81 # Admin Web Port
      # Add any other Stream port you want to expose
      - 1688:1688 # KMS
    volumes:
      - data:/data
      - letsencrypt:/etc/letsencrypt
volumes:
  data:
  letsencrypt:      
networks:
    name: proxy
      external: true

Inicie sesión en la interfaz de administrador. Cuando su contenedor Docker se esté ejecutando, conéctese a él en el puerto 81 para la interfaz de administración.

Usuario Admin por defecto:

Email:    admin@example.com
Password: changeme

Inmediatamente después de iniciar sesión con este usuario predeterminado se le pedirá que modifique sus datos y cambie su contraseña

Publicar un servicio/host

Crear registro DNS

En el proveedor que aloja el servidor DNS público, crear un registro DNS que resuelva la IP pública que llega al Proxy hacia un nombre del estilo "host.domain.com"

Crear un nuevo "proxy host"

Añade un nuevo proxy host con el nombre de dominio creado en el paso anterior redirigido hacia el nombre del contenedor y el puerto que use:

image.png

image.png