No more SSL warnings in your Home Lab

If you self-host applications, you are likely familiar with this browser warning, in this guide we will teach you how to install Nginx Proxy Manager in a Docker Compose:

This message appears because browsers do not trust self-signed SSL certificates. To resolve this and professionally manage access to your services, a reverse proxy is the ideal solution.

Nginx Proxy Manager is a powerful tool that provides a clean web interface for managing proxy hosts and, most importantly, can acquire and automatically renew free, valid SSL certificates from Let’s Encrypt.

Deploying it is simple using Portainer.

Deploy with Portainer Stacks

  1. Log in to your Portainer instance. (Learn how to deploy Portainer here)
  2. Navigate to Stacks > + Add stack.
  3. Give the stack a name (e.g., npm).
  4. Paste the contents of the docker-compose.yml file below into the web editor.
  5. Click Deploy the stack.

Docker-Compose File

Here is the docker-compose.yml configuration to deploy Nginx Proxy Manager. This creates the application container and a persistent database to store your configuration.

YAML

services:
  app:
    image: 'jc21/nginx-proxy-manager:latest'
    container_name: NPM
    restart: unless-stopped
    ports:
      - '80:80'
      - '443:443'
      - '81:81'
    volumes:
      - /opt/npm/data:/data
      - /opt/npm/letsencrypt:/etc/letsencrypt

Access Your Dashboard

Once deployed, you can access the admin UI by navigating to your server’s IP address on port 81 (e.g., http://YOUR-SERVER-IP:81).

Default Login:

  • Email: admin@example.com
  • Password: changeme

You will be prompted to change these credentials immediately.

With Nginx Proxy Manager running, you can now centralize your services under easy-to-remember domain names, eliminate browser security warnings, and secure your web traffic with valid HTTPS.

Add the SSL Certificate

This can be found in the walk-through Video

Leave a Reply

Your email address will not be published. Required fields are marked *