Creating SSL Certificate in Nginx Proxy Manager

If you self-hosted and/or have a homelab, you’ll need to expose some services to the Internet. This guide provides step-by-step instructions for creating SSL certificates for your services in Nginx Proxy Manager (NPM). We’ll use Let’s Encrypt as the certificate authority and Cloudflare’s DNS validation method.

Prerequisites

Getting the Cloudflare API Token

First, create an API token that NPM will use to validate your domain ownership. From your Cloudflare dashboard:

  1. Navigate to API Tokens in the menu
  2. Click Create Token
  3. Select Custom Token
  4. Configure these settings:
    • Name: “MyHomeLab-ApiToken” (or any descriptive name)
    • Permissions: Zone → DNS → Edit
    • Zone Resources: Your specific domain(s)
  5. Create and copy your token

Setting Up the Certificate in NPM

Now let’s create the SSL certificate in Nginx Proxy Manager:

  1. Go to your NPM dashboard
  2. Navigate to SSL Certificates
  3. Click Add SSL Certificate
  4. Configure the certificate:

Domain Settings

DNS Challenge Configuration

Click Save and NPM will:

Security Tips

A few important security notes:

· homelab, nginx-proxy-manager, cloudflare, ssl, lets-encrypt