From 7829a565c37fbcce9932c5392c82bf19aa694edd Mon Sep 17 00:00:00 2001 From: "Reuben B." Date: Thu, 22 May 2025 03:26:44 +0000 Subject: [PATCH] Update README.md --- README.md | 139 ++++++++++++++++++++++++++++++++++++++++++------------ 1 file changed, 108 insertions(+), 31 deletions(-) diff --git a/README.md b/README.md index e960e87..980152f 100644 --- a/README.md +++ b/README.md @@ -1,43 +1,120 @@ -Nginx Proxy Manager -A simple, powerful interface to manage Nginx proxy hosts with SSL support via Let's Encrypt. +

+ +

+ + + + + + + +

-🌟 Features -Beautiful and secure admin interface (based on Tabler) -Easily create: -Forwarding domains -Redirections -Streams -404 hosts -Free SSL certificates via Let's Encrypt or use your own -Access lists and basic HTTP authentication -Advanced Nginx configuration for power users -User management, permissions, and audit logs -🚀 Quick Setup -Requirements -Docker -Docker Compose -Docker Compose Example +This project comes as a pre-built docker image that enables you to easily forward to your websites +running at home or otherwise, including free SSL, without having to know too much about Nginx or Letsencrypt. -Start the Stack +- [Quick Setup](#quick-setup) +- [Full Setup](https://nginxproxymanager.com/setup/) +- [Screenshots](https://nginxproxymanager.com/screenshots/) -🔐 Admin Interface +## Project Goal - URL: http://:81 +I created this project to fill a personal need to provide users with an easy way to accomplish reverse +proxying hosts with SSL termination and it had to be so easy that a monkey could do it. This goal hasn't changed. +While there might be advanced options they are optional and the project should be as simple as possible +so that the barrier for entry here is low. - Default credentials: - Email: admin@example.com - Password: changeme +Buy Me A Coffee -note: You will be prompted to change your credentials on first login. -🌐 Hosting at Home +## Features -Set up port forwarding on your router for ports 80 and 443 to your server. +- Beautiful and Secure Admin Interface based on [Tabler](https://tabler.github.io/) +- Easily create forwarding domains, redirections, streams and 404 hosts without knowing anything about Nginx +- Free SSL using Let's Encrypt or provide your own custom SSL certificates +- Access Lists and basic HTTP Authentication for your hosts +- Advanced Nginx configuration available for super users +- User management, permissions and audit log -Point your domain to your home IP (use DuckDNS, Route53, etc.). -Use Nginx Proxy Manager to route traffic to your internal services. +## Hosting your home network -🤝 Contributing +I won't go in to too much detail here but here are the basics for someone new to this self-hosted world. -Pull requests are welcome on the develop branch. Official releases are made from master. \ No newline at end of file +1. Your home router will have a Port Forwarding section somewhere. Log in and find it +2. Add port forwarding for port 80 and 443 to the server hosting this project +3. Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS or [Amazon Route53](https://github.com/jc21/route53-ddns) +4. Use the Nginx Proxy Manager as your gateway to forward to your other web based services + +## Quick Setup + +1. Install Docker and Docker-Compose + +- [Docker Install documentation](https://docs.docker.com/install/) +- [Docker-Compose Install documentation](https://docs.docker.com/compose/install/) + +2. Create a docker-compose.yml file similar to this: + +```yml +services: + app: + image: 'docker.io/jc21/nginx-proxy-manager:latest' + restart: unless-stopped + ports: + - '80:80' + - '81:81' + - '443:443' + volumes: + - ./data:/data + - ./letsencrypt:/etc/letsencrypt +``` + +This is the bare minimum configuration required. See the [documentation](https://nginxproxymanager.com/setup/) for more. + +3. Bring up your stack by running + +```bash +docker-compose up -d + +# If using docker-compose-plugin +docker compose up -d + +``` + +4. Log in to the Admin UI + +When your docker container is running, connect to it on port `81` for the admin interface. +Sometimes this can take a little bit because of the entropy of keys. + +[http://127.0.0.1:81](http://127.0.0.1:81) + +Default Admin User: +``` +Email: admin@example.com +Password: changeme +``` + +Immediately after logging in with this default user you will be asked to modify your details and change your password. + + +## Contributing + +All are welcome to create pull requests for this project, against the `develop` branch. Official releases are created from the `master` branch. + +CI is used in this project. All PR's must pass before being considered. After passing, +docker builds for PR's are available on dockerhub for manual verifications. + +Documentation within the `develop` branch is available for preview at +[https://develop.nginxproxymanager.com](https://develop.nginxproxymanager.com) + + +### Contributors + +Special thanks to [all of our contributors](https://github.com/NginxProxyManager/nginx-proxy-manager/graphs/contributors). + + +## Getting Support + +1. [Found a bug?](https://github.com/NginxProxyManager/nginx-proxy-manager/issues) +2. [Discussions](https://github.com/NginxProxyManager/nginx-proxy-manager/discussions) +3. [Reddit](https://reddit.com/r/nginxproxymanager) \ No newline at end of file