Homelab - Reverse Proxy Certificate Management Panel Nginx Proxy Manager
Nginx Proxy Manager is a graphical interface for Nginx that allows users to easily configure reverse proxies and request SSL certificates for websites through a web interface, without needing an in-depth understanding of Nginx or Letsencrypt's underlying principles.
Deployment (Docker Compose)
First, create a compose.yaml
file and paste the following content:
version: "3"
services:
nginx-proxy-manager:
container_name: ${STACK_NAME}_app
image: "jc21/nginx-proxy-manager:${APP_VERSION}"
ports:
- "${APP_PORT}:81" # Panel address
- "80:80"
- "443:443"
volumes:
- ${STACK_DIR}/data:/data
- ${STACK_DIR}/letsencrypt:/etc/letsencrypt
restart: unless-stopped
(Optional) It's recommended to create a .env
file in the same directory as compose.yaml
and customize your environment variables. If you prefer not to use environment variables, you can directly customize your parameters in compose.yaml
(for example, replace ${STACK_NAME}
with nginx-proxy-manager
).
STACK_NAME=nginx-proxy-manager
STACK_DIR=xxx # Customize your project storage path, e.g., ./nginx-proxy-manager
# nginx-proxy-manager
APP_VERSION=latest
APP_PORT=81 # Default is 81; change as needed, referring to the documentation
Finally, run the docker compose up -d
command in the same directory as compose.yaml
to start the orchestrated containers.
Configuration Details
Initial account credentials:
- Email:
[email protected]
- Password:
changeme
To obtain the IP address of Docker, use the following command:
Note: For self-hosted services, it is advisable to access them through a reverse proxy, binding to a subdomain (port 80/443), and close other ports in the public server's firewall management console to enhance security.
References and Acknowledgments
Original: https://wiki-power.com/ This post is protected by CC BY-NC-SA 4.0 agreement, should be reproduced with attribution.
This post is translated using ChatGPT, please feedback if any omissions.