mirror of
https://github.com/NginxProxyManager/nginx-proxy-manager.git
synced 2025-06-17 17:56:27 +00:00
Merge branch 'v2' of github.com:jc21/nginx-proxy-manager
This commit is contained in:
129
README.md
129
README.md
@ -2,72 +2,75 @@
|
||||
|
||||
# Nginx Proxy Manager
|
||||
|
||||

|
||||

|
||||

|
||||

|
||||
|
||||
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.
|
||||
|
||||
----------
|
||||
|
||||
**WARNING: Version 2 a complete rewrite!** If you are using the `latest` docker tag and update to version 2
|
||||
without preparation, horrible things might happen. Refer to the [Importing Documentation](doc/IMPORTING.md).
|
||||
|
||||
----------
|
||||
|
||||
## Features
|
||||
|
||||
- Clean and simple interface
|
||||
- Create an unlimited number of hosts and forward them to any IPv4/Port combination running HTTP
|
||||
- Secure your sites with SSL and optionally force SSL
|
||||
- Secure your sites with Basic HTTP Authentication Access Lists
|
||||
- Advanced Nginx config option for super users
|
||||
- 3 domain uses:
|
||||
- Proxy requests to upstream server
|
||||
- Redirect requests to another domain
|
||||
- Return immediate 404's
|
||||
- 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
|
||||
|
||||
|
||||
## Using [Rancher](https://rancher.com)?
|
||||
## Screenshots
|
||||
|
||||
Easily start an Nginx Proxy Manager Stack by adding [my template catalog](https://github.com/jc21/rancher-templates).
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/login.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/dashboard.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/proxy-hosts.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/proxy-hosts-new1.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/proxy-hosts-new2.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/redirection-hosts.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/redirection-hosts-new1.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/streams.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/streams-new1.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/dead-hosts.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/dead-hosts-new1.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/certificates.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/certificates-new1.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/certificates-new2.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/access-lists.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/access-lists-new1.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/users.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/users-permissions.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/v2/large/audit-log.jpg)
|
||||
|
||||
|
||||
## Getting started
|
||||
|
||||
### Method 1: Using docker-compose
|
||||
|
||||
By far the easiest way to get up and running. Create this `docker-compose.yml`
|
||||
|
||||
```yml
|
||||
version: "2"
|
||||
services:
|
||||
app:
|
||||
image: jc21/nginx-proxy-manager
|
||||
restart: always
|
||||
ports:
|
||||
- 80:80
|
||||
- 81:81
|
||||
- 443:443
|
||||
volumes:
|
||||
- ./config:/config
|
||||
- ./letsencrypt:/etc/letsencrypt
|
||||
```
|
||||
|
||||
Then:
|
||||
|
||||
```bash
|
||||
docker-compose up -d
|
||||
```
|
||||
Please consult the [installation instructions](doc/INSTALL.md) for a complete guide or
|
||||
if you just want to get up and running in the quickest time possible, grab all the files in the `doc/example/` folder and run `docker-compose up -d`
|
||||
|
||||
|
||||
### Method 2: Using vanilla docker
|
||||
## Importing from Version 1?
|
||||
|
||||
```bash
|
||||
docker run -d \
|
||||
-p 80:80 \
|
||||
-p 81:81 \
|
||||
-p 443:443 \
|
||||
-v /path/to/config:/config \
|
||||
-v /path/to/letsencrypt:/etc/letsencrypt \
|
||||
--restart always \
|
||||
jc21/nginx-proxy-manager
|
||||
```
|
||||
Here's a [guide for you to migrate your configuration](doc/IMPORTING.md). You should definitely read the [installation instructions](doc/INSTALL.md) first though.
|
||||
|
||||
**Why should I?**
|
||||
|
||||
Version 2 has the following improvements:
|
||||
|
||||
- Management security and multiple user access
|
||||
- User permissions and visibility
|
||||
- Custom SSL certificate support
|
||||
- Audit log of changes
|
||||
- Broken nginx config detection
|
||||
- Multiple domains in Let's Encrypt certificates
|
||||
- Wildcard domain name support (not available with a Let's Encrypt certificate though)
|
||||
- It's super sexy
|
||||
|
||||
|
||||
### Raspberry Pi / ARMHF
|
||||
@ -87,18 +90,23 @@ docker run -d \
|
||||
|
||||
## Administration
|
||||
|
||||
Now that your docker container is running, connect to it on port `81` for the admin interface.
|
||||
When your docker container is running, connect to it on port `81` for the admin interface.
|
||||
|
||||
[http://localhost:81](http://localhost:81)
|
||||
|
||||
There is no authentication on this interface to keep things simple. It is expected that you would not
|
||||
expose port 81 to the outside world.
|
||||
|
||||
From here, the rest should be self explanatory.
|
||||
|
||||
Note: Requesting SSL Certificates won't work until this project is accessible from the outside world, as explained below.
|
||||
|
||||
|
||||
### Default Administrator 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.
|
||||
|
||||
|
||||
## Hosting your home network
|
||||
|
||||
I won't go in to too much detail here but here are the basics for someone new to this self-hosted world.
|
||||
@ -108,18 +116,3 @@ I won't go in to too much detail here but here are the basics for someone new to
|
||||
3. Configure your domain name details to point to your home, either with a static ip or a service like DuckDNS
|
||||
4. Use the Nginx Proxy Manager here as your gateway to forward to your other web based services
|
||||
|
||||
|
||||
## Screenshots
|
||||
|
||||
[](https://public.jc21.com/nginx-proxy-manager/npm-1.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/npm-2.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/npm-3.jpg)
|
||||
[](https://public.jc21.com/nginx-proxy-manager/npm-4.jpg)
|
||||
|
||||
## TODO
|
||||
|
||||
- Pass on human readable ssl cert errors to the ui
|
||||
- UI: Allow column sorting on tables
|
||||
- UI: Allow filtering hosts by types
|
||||
- Advanced option to overwrite the default location block (or regex to do it automatically)
|
||||
- Add nice upstream error pages
|
||||
|
Reference in New Issue
Block a user