New documentation!

This commit is contained in:
Jamie Curnow
2020-03-10 16:32:14 +10:00
parent e485c409c9
commit 88f45df48f
21 changed files with 9017 additions and 137 deletions

View File

@ -3,13 +3,16 @@
# Nginx Proxy Manager
![Version](https://img.shields.io/badge/version-2.2.0-green.svg?style=for-the-badge)
![Stars](https://img.shields.io/docker/stars/jc21/nginx-proxy-manager.svg?style=for-the-badge)
![Pulls](https://img.shields.io/docker/pulls/jc21/nginx-proxy-manager.svg?style=for-the-badge)
![Jenkins](https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fci.nginxproxymanager.com%2Fjob%2Fnginx-proxy-manager%2Fjob%2Fmaster&style=for-the-badge)
[![Stars](https://img.shields.io/docker/stars/jc21/nginx-proxy-manager.svg?style=for-the-badge)](https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager)
[![Pulls](https://img.shields.io/docker/pulls/jc21/nginx-proxy-manager.svg?style=for-the-badge)](https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager)
[![Jenkins](https://img.shields.io/jenkins/build?jobUrl=https%3A%2F%2Fci.nginxproxymanager.com%2Fjob%2Fnginx-proxy-manager%2Fjob%2Fmaster&style=for-the-badge)](https://ci.nginxproxymanager.com)
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.
- [Quick Setup](https://nginxproxymanager.com#quick-setup)
- [Full Setup](https://nginxproxymanager.com/setup/)
- [Screenshots](https://nginxproxymanager.com/screenshots/)
## Project Goal
@ -31,54 +34,6 @@ so that the barrier for entry here is low.
- User management, permissions and audit log
## Screenshots
[![Login](https://public.jc21.com/nginx-proxy-manager/v2/small/login.jpg "Login")](https://public.jc21.com/nginx-proxy-manager/v2/large/login.jpg)
[![Dashboard](https://public.jc21.com/nginx-proxy-manager/v2/small/dashboard.jpg "Dashboard")](https://public.jc21.com/nginx-proxy-manager/v2/large/dashboard.jpg)
[![Proxy Hosts](https://public.jc21.com/nginx-proxy-manager/v2/small/proxy-hosts.jpg "Proxy Hosts")](https://public.jc21.com/nginx-proxy-manager/v2/large/proxy-hosts.jpg)
[![Proxy Host Settings](https://public.jc21.com/nginx-proxy-manager/v2/small/proxy-hosts-new1.jpg "Proxy Host Settings")](https://public.jc21.com/nginx-proxy-manager/v2/large/proxy-hosts-new1.jpg)
[![Proxy Host SSL](https://public.jc21.com/nginx-proxy-manager/v2/small/proxy-hosts-new2.jpg "Proxy Host SSL")](https://public.jc21.com/nginx-proxy-manager/v2/large/proxy-hosts-new2.jpg)
[![Redirection Hosts](https://public.jc21.com/nginx-proxy-manager/v2/small/redirection-hosts.jpg "Redirection Hosts")](https://public.jc21.com/nginx-proxy-manager/v2/large/redirection-hosts.jpg)
[![Redirection Host Settings](https://public.jc21.com/nginx-proxy-manager/v2/small/redirection-hosts-new1.jpg "Redirection Host Settings")](https://public.jc21.com/nginx-proxy-manager/v2/large/redirection-hosts-new1.jpg)
[![Streams](https://public.jc21.com/nginx-proxy-manager/v2/small/streams.jpg "Streams")](https://public.jc21.com/nginx-proxy-manager/v2/large/streams.jpg)
[![Stream Settings](https://public.jc21.com/nginx-proxy-manager/v2/small/streams-new1.jpg "Stream Settings")](https://public.jc21.com/nginx-proxy-manager/v2/large/streams-new1.jpg)
[![404 Hosts](https://public.jc21.com/nginx-proxy-manager/v2/small/dead-hosts.jpg "404 Hosts")](https://public.jc21.com/nginx-proxy-manager/v2/large/dead-hosts.jpg)
[![404 Host Settings](https://public.jc21.com/nginx-proxy-manager/v2/small/dead-hosts-new1.jpg "404 Host Settings")](https://public.jc21.com/nginx-proxy-manager/v2/large/dead-hosts-new1.jpg)
[![Certificates](https://public.jc21.com/nginx-proxy-manager/v2/small/certificates.jpg "Certificates")](https://public.jc21.com/nginx-proxy-manager/v2/large/certificates.jpg)
[![Lets Encrypt Certificates](https://public.jc21.com/nginx-proxy-manager/v2/small/certificates-new1.jpg "Lets Encrypt Certificates")](https://public.jc21.com/nginx-proxy-manager/v2/large/certificates-new1.jpg)
[![Custom Certificates](https://public.jc21.com/nginx-proxy-manager/v2/small/certificates-new2.jpg "Custom Certificates")](https://public.jc21.com/nginx-proxy-manager/v2/large/certificates-new2.jpg)
[![Access Lists](https://public.jc21.com/nginx-proxy-manager/v2/small/access-lists.jpg "Access Lists")](https://public.jc21.com/nginx-proxy-manager/v2/large/access-lists.jpg)
[![Access List Users](https://public.jc21.com/nginx-proxy-manager/v2/small/access-lists-new1.jpg "Access List Users")](https://public.jc21.com/nginx-proxy-manager/v2/large/access-lists-new1.jpg)
[![Users](https://public.jc21.com/nginx-proxy-manager/v2/small/users.jpg "Users")](https://public.jc21.com/nginx-proxy-manager/v2/large/users.jpg)
[![User Permissions](https://public.jc21.com/nginx-proxy-manager/v2/small/users-permissions.jpg "User Permissions")](https://public.jc21.com/nginx-proxy-manager/v2/large/users-permissions.jpg)
[![Audit Log](https://public.jc21.com/nginx-proxy-manager/v2/small/audit-log.jpg "Audit Log")](https://public.jc21.com/nginx-proxy-manager/v2/large/audit-log.jpg)
## Getting started
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`
## Administration
When your docker container is running, connect to it on port `81` for the admin interface.
[http://localhost:81](http://localhost:81)
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.
@ -87,14 +42,3 @@ I won't go in to too much detail here but here are the basics for someone new to
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
## Nginx Proxy Manager in the wild
As this software gains popularity it's common to see it integrated with other platforms. Please be aware that unless specifically mentioned in the documenation of those
integrations, they are *not supported* by me and any donation links on the pages of those integrations will not come to me even though it looks like it.
Known integrations:
- [HomeAssistant Hass.io plugin](https://github.com/hassio-addons/addon-nginx-proxy-manager)
- [UnRaid / Synology](https://github.com/jlesage/docker-nginx-proxy-manager)

View File

@ -1,10 +0,0 @@
{
"database": {
"engine": "mysql",
"host": "db",
"name": "npm",
"user": "npm",
"password": "npm",
"port": 3306
}
}

View File

@ -1,28 +0,0 @@
version: "3"
services:
app:
image: jc21/nginx-proxy-manager:latest
restart: always
ports:
- 80:80
- 81:81
- 443:443
volumes:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
depends_on:
- db
environment:
# if you want pretty colors in your docker logs:
- FORCE_COLOR=1
db:
image: jc21/mariadb-aria:latest
restart: always
environment:
MYSQL_ROOT_PASSWORD: "npm"
MYSQL_DATABASE: "npm"
MYSQL_USER: "npm"
MYSQL_PASSWORD: "npm"
volumes:
- ./data/mysql:/var/lib/mysql

3
docs/.gitignore vendored Normal file
View File

@ -0,0 +1,3 @@
.vuepress/dist
node_modules
ts

80
docs/.vuepress/config.js Normal file
View File

@ -0,0 +1,80 @@
module.exports = {
locales: {
"/": {
lang: "en-US",
title: "Nginx Proxy Manager",
description: "Expose your services easily and securely"
}
},
head: [
["link", { rel: "icon", href: "/icon.png" }],
["meta", { name: "description", content: "Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt" }],
["meta", { property: "og:title", content: "Nginx Proxy Manager" }],
["meta", { property: "og:description", content: "Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt"}],
["meta", { property: "og:type", content: "website" }],
["meta", { property: "og:url", content: "https://nginxproxymanager.com/" }],
["meta", { property: "og:image", content: "https://nginxproxymanager.com/icon.png" }],
["meta", { name: "twitter:card", content: "summary"}],
["meta", { name: "twitter:title", content: "Nginx Proxy Manager"}],
["meta", { name: "twitter:description", content: "Docker container and built in Web Application for managing Nginx proxy hosts with a simple, powerful interface, providing free SSL support via Let's Encrypt"}],
["meta", { name: "twitter:image", content: "https://nginxproxymanager.com/icon.png"}],
["meta", { name: "twitter:alt", content: "Nginx Proxy Manager"}],
],
themeConfig: {
logo: "/icon.png",
// the GitHub repo path
repo: "jc21/nginx-proxy-manager",
// the label linking to the repo
repoLabel: "GitHub",
// if your docs are not at the root of the repo:
docsDir: "docs",
// defaults to false, set to true to enable
editLinks: true,
locales: {
"/": {
// text for the language dropdown
selectText: "Languages",
// label for this locale in the language dropdown
label: "English",
// Custom text for edit link. Defaults to "Edit this page"
editLinkText: "Edit this page on GitHub",
// Custom navbar values
nav: [{ text: "Setup", link: "/setup/" }],
// Custom sidebar values
sidebar: [
"/",
["/guide/", "Guide"],
["/screenshots/", "Screenshots"],
["/setup/", "Setup Instructions"],
["/advanced-config/", "Advanced Configuration"],
["/third-party/", "Third Party"]
]
}
}
},
plugins: [
[
"@vuepress/google-analytics",
{
ga: "UA-99675467-4"
}
],
[
"sitemap",
{
hostname: "https://nginxproxymanager.com"
}
],
[
'vuepress-plugin-zooming',
{
selector: '.zooming',
delay: 1000,
options: {
bgColor: 'black',
zIndex: 10000,
},
},
],
]
};

Binary file not shown.

After

Width:  |  Height:  |  Size: 18 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 58 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 13 KiB

Binary file not shown.

Binary file not shown.

After

Width:  |  Height:  |  Size: 334 KiB

View File

@ -0,0 +1,2 @@
User-agent: *
Disallow:

View File

@ -0,0 +1,23 @@
.home .hero img
max-width: 500px !important
min-width: 300px
width: 100%
.center
margin 0 auto;
width: 80%
#main-title
display: none
.hero
margin: 150px 25px 70px
@font-face
font-family: 'Nerd Font';
src: url("/nerd-font.woff2") format("woff2");
font-weight: 400;
font-style: normal
code
font-family: 'Nerd Font', source-code-pro, Menlo, Monaco, Consolas, "Courier New", monospace;

View File

@ -0,0 +1,4 @@
$accentColor = #f15833
$textColor = #663015
$borderColor = #eaecef
$codeBgColor = #282c34

93
docs/README.md Normal file
View File

@ -0,0 +1,93 @@
---
home: true
heroImage: /logo.png
actionText: Get Started →
actionLink: /guide/
footer: MIT Licensed | Copyright © 2016-present jc21.com
---
<div class="features">
<div class="feature">
<h2>Get Connected</h2>
<p>
Expose web services on your network &middot;
Free SSL with Let's Encrypt &middot;
Designed with security in mind &middot;
Perfect for home networks
</p>
</div>
<div class="feature">
<h2>Proxy Hosts</h2>
<p>Expose your private network Web services and get connected anywhere.</p>
</div>
<div class="feature">
<h2>Beautiful UI</h2>
<p>Based on Tabler, the interface is a pleasure to use. Configuring a server has never been so fun.</p>
</div>
<div class="feature">
<h2>Free SSL</h2>
<p>Built in Lets Encrypt support allows you to secure your Web services at no cost to you. The certificates even renew themselves!</p>
</div>
<div class="feature">
<h2>Docker FTW</h2>
<p>Built as a Docker Image, Nginx Proxy Manager only requires a database.</p>
</div>
<div class="feature">
<h2>Multiple Users</h2>
<p>Configure other users to either view or manage their own hosts. Full access permissions are available.</p>
</div>
</div>
### 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
version: '3'
services:
app:
image: 'jc21/nginx-proxy-manager:latest'
ports:
- '80:80'
- '81:81'
- '443:443'
volumes:
- ./config.json:/app/config/production.json
- ./data:/data
- ./letsencrypt:/etc/letsencrypt
db:
image: 'jc21/mariadb-aria:10.4'
environment:
MYSQL_ROOT_PASSWORD: 'npm'
MYSQL_DATABASE: 'npm'
MYSQL_USER: 'npm'
MYSQL_PASSWORD: 'npm'
volumes:
- ./data/mysql:/var/lib/mysql
```
3. Bring up your stack
```bash
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.
[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.

View File

@ -1,4 +1,6 @@
## Advanced Nginx Configuration
# Advanced Configuration
### Custom Nginx Configurations
If you are a more advanced user, you might be itching for extra Nginx customizability.
@ -15,3 +17,16 @@ You can add your custom configuration snippet files at `/data/nginx/custom` as f
`/data/nginx/custom/server_stream_udp.conf`: Included at the end of every UDP stream server block
Every file is optional.
### X-FRAME-OPTIONS Header
You can configure the [`X-FRAME-OPTIONS`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) header
value by specifying it as a Docker environment variable. The default if not specified is `deny`.
```yml
...
environment:
X_FRAME_OPTIONS: "sameorigin"
...
```

1
docs/guide/README.md Symbolic link
View File

@ -0,0 +1 @@
../../README.md

777
docs/package.json Normal file
View File

@ -0,0 +1,777 @@
{
"name": "docs",
"version": "1.0.0",
"description": "",
"main": "index.js",
"dependencies": {
"@vuepress/plugin-google-analytics": "^1.3.1",
"abbrev": "^1.1.1",
"accepts": "^1.3.7",
"acorn": "^6.4.0",
"agentkeepalive": "^2.2.0",
"ajv": "^6.11.0",
"ajv-errors": "^1.0.1",
"ajv-keywords": "^3.4.1",
"algoliasearch": "^3.35.1",
"alphanum-sort": "^1.0.2",
"ansi-colors": "^3.2.4",
"ansi-escapes": "^4.3.0",
"ansi-html": "^0.0.7",
"ansi-regex": "^2.1.1",
"ansi-styles": "^3.2.1",
"anymatch": "^2.0.0",
"aproba": "^1.2.0",
"argparse": "^1.0.10",
"arr-diff": "^4.0.0",
"arr-flatten": "^1.1.0",
"arr-union": "^3.1.0",
"array-flatten": "^1.1.1",
"array-union": "^1.0.2",
"array-uniq": "^1.0.3",
"array-unique": "^0.3.2",
"asn1": "^0.2.4",
"asn1.js": "^4.10.1",
"assert": "^1.5.0",
"assert-plus": "^1.0.0",
"assign-symbols": "^1.0.0",
"async": "^2.6.3",
"async-each": "^1.0.3",
"async-limiter": "^1.0.1",
"asynckit": "^0.4.0",
"atob": "^2.1.2",
"autocomplete.js": "^0.36.0",
"autoprefixer": "^9.7.4",
"aws-sign2": "^0.7.0",
"aws4": "^1.9.1",
"babel-loader": "^8.0.6",
"babel-plugin-dynamic-import-node": "^2.3.0",
"babel-plugin-module-resolver": "^3.2.0",
"balanced-match": "^1.0.0",
"base": "^0.11.2",
"base64-js": "^1.3.1",
"batch": "^0.6.1",
"bcrypt-pbkdf": "^1.0.2",
"big.js": "^5.2.2",
"binary-extensions": "^1.13.1",
"bluebird": "^3.7.2",
"bn.js": "^4.11.8",
"body-parser": "^1.19.0",
"bonjour": "^3.5.0",
"boolbase": "^1.0.0",
"brace-expansion": "^1.1.11",
"braces": "^2.3.2",
"brorand": "^1.1.0",
"browserify-aes": "^1.2.0",
"browserify-cipher": "^1.0.1",
"browserify-des": "^1.0.2",
"browserify-rsa": "^4.0.1",
"browserify-sign": "^4.0.4",
"browserify-zlib": "^0.2.0",
"browserslist": "^4.8.5",
"buffer": "^4.9.2",
"buffer-from": "^1.1.1",
"buffer-indexof": "^1.1.1",
"buffer-json": "^2.0.0",
"buffer-xor": "^1.0.3",
"builtin-status-codes": "^3.0.0",
"bytes": "^3.1.0",
"cac": "^6.5.5",
"cacache": "^12.0.3",
"cache-base": "^1.0.1",
"cache-loader": "^3.0.1",
"call-me-maybe": "^1.0.1",
"caller-callsite": "^2.0.0",
"caller-path": "^2.0.0",
"callsites": "^2.0.0",
"camel-case": "^3.0.0",
"camelcase": "^5.3.1",
"caniuse-api": "^3.0.0",
"caniuse-lite": "^1.0.30001022",
"caseless": "^0.12.0",
"chalk": "^2.4.2",
"chokidar": "^2.1.8",
"chownr": "^1.1.3",
"chrome-trace-event": "^1.0.2",
"ci-info": "^1.6.0",
"cipher-base": "^1.0.4",
"class-utils": "^0.3.6",
"clean-css": "^4.2.1",
"clipboard": "^2.0.4",
"cliui": "^4.1.0",
"coa": "^2.0.2",
"code-point-at": "^1.1.0",
"collection-visit": "^1.0.0",
"color": "^3.1.2",
"color-convert": "^1.9.3",
"color-name": "^1.1.3",
"color-string": "^1.5.3",
"combined-stream": "^1.0.8",
"commander": "^2.17.1",
"commondir": "^1.0.1",
"component-emitter": "^1.3.0",
"compressible": "^2.0.18",
"compression": "^1.7.4",
"concat-map": "^0.0.1",
"concat-stream": "^1.6.2",
"connect-history-api-fallback": "^1.6.0",
"consola": "^2.11.3",
"console-browserify": "^1.2.0",
"consolidate": "^0.15.1",
"constants-browserify": "^1.0.0",
"content-disposition": "^0.5.3",
"content-type": "^1.0.4",
"convert-source-map": "^1.7.0",
"cookie": "^0.4.0",
"cookie-signature": "^1.0.6",
"copy-concurrently": "^1.0.5",
"copy-descriptor": "^0.1.1",
"copy-webpack-plugin": "^5.1.1",
"core-js": "^2.6.11",
"core-util-is": "^1.0.2",
"cosmiconfig": "^5.2.1",
"create-ecdh": "^4.0.3",
"create-hash": "^1.2.0",
"create-hmac": "^1.1.7",
"cross-spawn": "^6.0.5",
"crypto-browserify": "^3.12.0",
"css": "^2.2.4",
"css-color-names": "^0.0.4",
"css-declaration-sorter": "^4.0.1",
"css-loader": "^2.1.1",
"css-parse": "^2.0.0",
"css-select": "^1.2.0",
"css-select-base-adapter": "^0.1.1",
"css-tree": "^1.0.0-alpha.37",
"css-unit-converter": "^1.1.1",
"css-what": "^2.1.3",
"cssesc": "^3.0.0",
"cssnano": "^4.1.10",
"cssnano-preset-default": "^4.0.7",
"cssnano-util-get-arguments": "^4.0.0",
"cssnano-util-get-match": "^4.0.0",
"cssnano-util-raw-cache": "^4.0.1",
"cssnano-util-same-parent": "^4.0.1",
"csso": "^4.0.2",
"cyclist": "^1.0.1",
"dashdash": "^1.14.1",
"de-indent": "^1.0.2",
"debug": "^2.6.9",
"decamelize": "^1.2.0",
"decode-uri-component": "^0.2.0",
"deep-equal": "^1.1.1",
"deepmerge": "^1.5.2",
"default-gateway": "^4.2.0",
"define-properties": "^1.1.3",
"define-property": "^0.2.5",
"del": "^4.1.1",
"delayed-stream": "^1.0.0",
"delegate": "^3.2.0",
"depd": "^1.1.2",
"des.js": "^1.0.1",
"destroy": "^1.0.4",
"detect-node": "^2.0.4",
"diacritics": "^1.3.0",
"diffie-hellman": "^5.0.3",
"dir-glob": "^2.2.2",
"dns-equal": "^1.0.0",
"dns-packet": "^1.3.1",
"dns-txt": "^2.0.2",
"docsearch.js": "^2.6.3",
"dom-converter": "^0.2.0",
"dom-serializer": "^0.2.2",
"dom-walk": "^0.1.1",
"domain-browser": "^1.2.0",
"domelementtype": "^1.3.1",
"domhandler": "^2.4.2",
"domutils": "^1.7.0",
"dot-prop": "^4.2.0",
"duplexify": "^3.7.1",
"ecc-jsbn": "^0.1.2",
"ee-first": "^1.1.1",
"electron-to-chromium": "^1.3.338",
"elliptic": "^6.5.2",
"emoji-regex": "^7.0.3",
"emojis-list": "^2.1.0",
"encodeurl": "^1.0.2",
"end-of-stream": "^1.4.4",
"enhanced-resolve": "^4.1.1",
"entities": "^1.1.2",
"envify": "^4.1.0",
"envinfo": "^7.5.0",
"errno": "^0.1.7",
"error-ex": "^1.3.2",
"es-abstract": "^1.17.4",
"es-to-primitive": "^1.2.1",
"es6-promise": "^4.2.8",
"escape-html": "^1.0.3",
"escape-string-regexp": "^1.0.5",
"eslint-scope": "^4.0.3",
"esprima": "^4.0.1",
"esrecurse": "^4.2.1",
"estraverse": "^4.3.0",
"esutils": "^2.0.3",
"etag": "^1.8.1",
"eventemitter3": "^4.0.0",
"events": "^1.1.1",
"eventsource": "^1.0.7",
"evp_bytestokey": "^1.0.3",
"execa": "^1.0.0",
"expand-brackets": "^2.1.4",
"express": "^4.17.1",
"extend": "^3.0.2",
"extend-shallow": "^2.0.1",
"extglob": "^2.0.4",
"extsprintf": "^1.3.0",
"fast-deep-equal": "^3.1.1",
"fast-glob": "^2.2.7",
"fast-json-stable-stringify": "^2.1.0",
"faye-websocket": "^0.10.0",
"figgy-pudding": "^3.5.1",
"figures": "^3.1.0",
"file-loader": "^3.0.1",
"fill-range": "^4.0.0",
"finalhandler": "^1.1.2",
"find-babel-config": "^1.2.0",
"find-cache-dir": "^2.1.0",
"find-up": "^3.0.0",
"flush-write-stream": "^1.1.1",
"follow-redirects": "^1.9.0",
"for-in": "^1.0.2",
"foreach": "^2.0.5",
"forever-agent": "^0.6.1",
"form-data": "^2.3.3",
"forwarded": "^0.1.2",
"fragment-cache": "^0.2.1",
"fresh": "^0.5.2",
"from2": "^2.3.0",
"fs-extra": "^7.0.1",
"fs-write-stream-atomic": "^1.0.10",
"fs.realpath": "^1.0.0",
"function-bind": "^1.1.1",
"gensync": "^1.0.0-beta.1",
"get-caller-file": "^1.0.3",
"get-stream": "^4.1.0",
"get-value": "^2.0.6",
"getpass": "^0.1.7",
"glob": "^7.1.6",
"glob-parent": "^3.1.0",
"glob-to-regexp": "^0.3.0",
"global": "^4.4.0",
"globals": "^11.12.0",
"globby": "^7.1.1",
"good-listener": "^1.2.2",
"graceful-fs": "^4.2.3",
"gray-matter": "^4.0.2",
"handle-thing": "^2.0.0",
"har-schema": "^2.0.0",
"har-validator": "^5.1.3",
"has": "^1.0.3",
"has-ansi": "^2.0.0",
"has-flag": "^3.0.0",
"has-symbols": "^1.0.1",
"has-value": "^1.0.0",
"has-values": "^1.0.0",
"hash-base": "^3.0.4",
"hash-sum": "^1.0.2",
"hash.js": "^1.1.7",
"he": "^1.2.0",
"hex-color-regex": "^1.1.0",
"hmac-drbg": "^1.0.1",
"hogan.js": "^3.0.2",
"hpack.js": "^2.1.6",
"hsl-regex": "^1.0.0",
"hsla-regex": "^1.0.0",
"html-comment-regex": "^1.1.2",
"html-entities": "^1.2.1",
"html-minifier": "^3.5.21",
"html-tags": "^2.0.0",
"htmlparser2": "^3.10.1",
"http-deceiver": "^1.2.7",
"http-errors": "^1.7.2",
"http-parser-js": "^0.4.10",
"http-proxy": "^1.18.0",
"http-proxy-middleware": "^0.19.1",
"http-signature": "^1.2.0",
"https-browserify": "^1.0.0",
"iconv-lite": "^0.4.24",
"icss-replace-symbols": "^1.1.0",
"icss-utils": "^4.1.1",
"ieee754": "^1.1.13",
"iferr": "^0.1.5",
"ignore": "^3.3.10",
"immediate": "^3.2.3",
"import-cwd": "^2.1.0",
"import-fresh": "^2.0.0",
"import-from": "^2.1.0",
"import-local": "^2.0.0",
"imurmurhash": "^0.1.4",
"indexes-of": "^1.0.1",
"infer-owner": "^1.0.4",
"inflight": "^1.0.6",
"inherits": "^2.0.4",
"internal-ip": "^4.3.0",
"invariant": "^2.2.4",
"invert-kv": "^2.0.0",
"ip": "^1.1.5",
"ip-regex": "^2.1.0",
"ipaddr.js": "^1.9.1",
"is-absolute-url": "^3.0.3",
"is-accessor-descriptor": "^1.0.0",
"is-arguments": "^1.0.4",
"is-arrayish": "^0.2.1",
"is-binary-path": "^1.0.1",
"is-buffer": "^1.1.6",
"is-callable": "^1.1.5",
"is-color-stop": "^1.1.0",
"is-data-descriptor": "^1.0.0",
"is-date-object": "^1.0.2",
"is-descriptor": "^1.0.2",
"is-directory": "^0.3.1",
"is-extendable": "^0.1.1",
"is-extglob": "^2.1.1",
"is-fullwidth-code-point": "^2.0.0",
"is-glob": "^4.0.1",
"is-number": "^3.0.0",
"is-obj": "^1.0.1",
"is-path-cwd": "^2.2.0",
"is-path-in-cwd": "^2.1.0",
"is-path-inside": "^2.1.0",
"is-plain-obj": "^1.1.0",
"is-plain-object": "^2.0.4",
"is-regex": "^1.0.5",
"is-resolvable": "^1.1.0",
"is-stream": "^1.1.0",
"is-svg": "^3.0.0",
"is-symbol": "^1.0.3",
"is-typedarray": "^1.0.0",
"is-windows": "^1.0.2",
"is-wsl": "^1.1.0",
"isarray": "^1.0.0",
"isexe": "^2.0.0",
"isobject": "^3.0.1",
"isstream": "^0.1.2",
"javascript-stringify": "^1.6.0",
"js-levenshtein": "^1.1.6",
"js-tokens": "^4.0.0",
"js-yaml": "^3.13.1",
"jsbn": "^0.1.1",
"jsesc": "^2.5.2",
"json-parse-better-errors": "^1.0.2",
"json-schema": "^0.2.3",
"json-schema-traverse": "^0.4.1",
"json-stringify-safe": "^5.0.1",
"json3": "^3.3.3",
"json5": "^0.5.1",
"jsonfile": "^4.0.0",
"jsprim": "^1.4.1",
"killable": "^1.0.1",
"kind-of": "^6.0.3",
"last-call-webpack-plugin": "^3.0.0",
"lcid": "^2.0.0",
"linkify-it": "^2.2.0",
"load-script": "^1.0.0",
"loader-runner": "^2.4.0",
"loader-utils": "^1.2.3",
"locate-path": "^3.0.0",
"lodash": "^4.17.15",
"lodash._reinterpolate": "^3.0.0",
"lodash.chunk": "^4.2.0",
"lodash.clonedeep": "^4.5.0",
"lodash.debounce": "^4.0.8",
"lodash.kebabcase": "^4.1.1",
"lodash.memoize": "^4.1.2",
"lodash.padstart": "^4.6.1",
"lodash.sortby": "^4.7.0",
"lodash.template": "^4.5.0",
"lodash.templatesettings": "^4.2.0",
"lodash.uniq": "^4.5.0",
"loglevel": "^1.6.6",
"loose-envify": "^1.4.0",
"lower-case": "^1.1.4",
"lru-cache": "^5.1.1",
"make-dir": "^2.1.0",
"mamacro": "^0.0.3",
"map-age-cleaner": "^0.1.3",
"map-cache": "^0.2.2",
"map-visit": "^1.0.0",
"markdown-it": "^8.4.2",
"markdown-it-anchor": "^5.2.5",
"markdown-it-chain": "^1.3.0",
"markdown-it-container": "^2.0.0",
"markdown-it-emoji": "^1.4.0",
"markdown-it-table-of-contents": "^0.4.4",
"md5.js": "^1.3.5",
"mdn-data": "^2.0.4",
"mdurl": "^1.0.1",
"media-typer": "^0.3.0",
"mem": "^4.3.0",
"memory-fs": "^0.4.1",
"merge-descriptors": "^1.0.1",
"merge-source-map": "^1.1.0",
"merge2": "^1.3.0",
"methods": "^1.1.2",
"micromatch": "^3.1.10",
"miller-rabin": "^4.0.1",
"mime": "^2.4.4",
"mime-db": "^1.43.0",
"mime-types": "^2.1.26",
"mimic-fn": "^2.1.0",
"min-document": "^2.19.0",
"mini-css-extract-plugin": "^0.6.0",
"minimalistic-assert": "^1.0.1",
"minimalistic-crypto-utils": "^1.0.1",
"minimatch": "^3.0.4",
"minimist": "^1.2.0",
"mississippi": "^3.0.0",
"mixin-deep": "^1.3.2",
"mkdirp": "^0.5.1",
"move-concurrently": "^1.0.1",
"ms": "^2.0.0",
"multicast-dns": "^6.2.3",
"multicast-dns-service-types": "^1.1.0",
"nanomatch": "^1.2.13",
"negotiator": "^0.6.2",
"neo-async": "^2.6.1",
"nice-try": "^1.0.5",
"no-case": "^2.3.2",
"node-forge": "^0.9.0",
"node-libs-browser": "^2.2.1",
"node-releases": "^1.1.47",
"nopt": "^1.0.10",
"normalize-path": "^3.0.0",
"normalize-range": "^0.1.2",
"normalize-url": "^2.0.1",
"npm-run-path": "^2.0.2",
"nprogress": "^0.2.0",
"nth-check": "^1.0.2",
"num2fraction": "^1.2.2",
"number-is-nan": "^1.0.1",
"oauth-sign": "^0.9.0",
"object-assign": "^4.1.1",
"object-copy": "^0.1.0",
"object-inspect": "^1.7.0",
"object-is": "^1.0.2",
"object-keys": "^1.1.1",
"object-visit": "^1.0.1",
"object.assign": "^4.1.0",
"object.getownpropertydescriptors": "^2.1.0",
"object.pick": "^1.3.0",
"object.values": "^1.1.1",
"obuf": "^1.1.2",
"on-finished": "^2.3.0",
"on-headers": "^1.0.2",
"once": "^1.4.0",
"opencollective-postinstall": "^2.0.2",
"opn": "^5.5.0",
"optimize-css-assets-webpack-plugin": "^5.0.3",
"original": "^1.0.2",
"os-browserify": "^0.3.0",
"os-locale": "^3.1.0",
"p-defer": "^1.0.0",
"p-finally": "^1.0.0",
"p-is-promise": "^2.1.0",
"p-limit": "^2.2.2",
"p-locate": "^3.0.0",
"p-map": "^2.1.0",
"p-retry": "^3.0.1",
"p-try": "^2.2.0",
"pako": "^1.0.10",
"parallel-transform": "^1.2.0",
"param-case": "^2.1.1",
"parse-asn1": "^5.1.5",
"parse-json": "^4.0.0",
"parseurl": "^1.3.3",
"pascalcase": "^0.1.1",
"path-browserify": "^0.0.1",
"path-dirname": "^1.0.2",
"path-exists": "^3.0.0",
"path-is-absolute": "^1.0.1",
"path-is-inside": "^1.0.2",
"path-key": "^2.0.1",
"path-parse": "^1.0.6",
"path-to-regexp": "^0.1.7",
"path-type": "^3.0.0",
"pbkdf2": "^3.0.17",
"performance-now": "^2.1.0",
"pify": "^4.0.1",
"pinkie": "^2.0.4",
"pinkie-promise": "^2.0.1",
"pkg-dir": "^3.0.0",
"pkg-up": "^2.0.0",
"portfinder": "^1.0.25",
"posix-character-classes": "^0.1.1",
"postcss": "^7.0.26",
"postcss-calc": "^7.0.1",
"postcss-colormin": "^4.0.3",
"postcss-convert-values": "^4.0.1",
"postcss-discard-comments": "^4.0.2",
"postcss-discard-duplicates": "^4.0.2",
"postcss-discard-empty": "^4.0.1",
"postcss-discard-overridden": "^4.0.1",
"postcss-load-config": "^2.1.0",
"postcss-loader": "^3.0.0",
"postcss-merge-longhand": "^4.0.11",
"postcss-merge-rules": "^4.0.3",
"postcss-minify-font-values": "^4.0.2",
"postcss-minify-gradients": "^4.0.2",
"postcss-minify-params": "^4.0.2",
"postcss-minify-selectors": "^4.0.2",
"postcss-modules-extract-imports": "^2.0.0",
"postcss-modules-local-by-default": "^2.0.6",
"postcss-modules-scope": "^2.1.1",
"postcss-modules-values": "^2.0.0",
"postcss-normalize-charset": "^4.0.1",
"postcss-normalize-display-values": "^4.0.2",
"postcss-normalize-positions": "^4.0.2",
"postcss-normalize-repeat-style": "^4.0.2",
"postcss-normalize-string": "^4.0.2",
"postcss-normalize-timing-functions": "^4.0.2",
"postcss-normalize-unicode": "^4.0.1",
"postcss-normalize-url": "^4.0.1",
"postcss-normalize-whitespace": "^4.0.2",
"postcss-ordered-values": "^4.1.2",
"postcss-reduce-initial": "^4.0.3",
"postcss-reduce-transforms": "^4.0.2",
"postcss-safe-parser": "^4.0.1",
"postcss-selector-parser": "^3.1.1",
"postcss-svgo": "^4.0.2",
"postcss-unique-selectors": "^4.0.1",
"postcss-value-parser": "^3.3.1",
"prepend-http": "^2.0.0",
"prettier": "^1.19.1",
"pretty-error": "^2.1.1",
"pretty-time": "^1.1.0",
"prismjs": "^1.19.0",
"private": "^0.1.8",
"process": "^0.11.10",
"process-nextick-args": "^2.0.1",
"promise-inflight": "^1.0.1",
"proxy-addr": "^2.0.5",
"prr": "^1.0.1",
"pseudomap": "^1.0.2",
"psl": "^1.7.0",
"public-encrypt": "^4.0.3",
"pump": "^3.0.0",
"pumpify": "^1.5.1",
"punycode": "^1.4.1",
"q": "^1.5.1",
"qs": "^6.7.0",
"query-string": "^5.1.1",
"querystring": "^0.2.0",
"querystring-es3": "^0.2.1",
"querystringify": "^2.1.1",
"randombytes": "^2.1.0",
"randomfill": "^1.0.4",
"range-parser": "^1.2.1",
"raw-body": "^2.4.0",
"readable-stream": "^2.3.7",
"readdirp": "^2.2.1",
"reduce": "^1.0.2",
"regenerate": "^1.4.0",
"regenerate-unicode-properties": "^8.1.0",
"regenerator-runtime": "^0.13.3",
"regenerator-transform": "^0.14.1",
"regex-not": "^1.0.2",
"regexp.prototype.flags": "^1.3.0",
"regexpu-core": "^4.6.0",
"regjsgen": "^0.5.1",
"regjsparser": "^0.6.2",
"relateurl": "^0.2.7",
"remove-trailing-separator": "^1.1.0",
"renderkid": "^2.0.3",
"repeat-element": "^1.1.3",
"repeat-string": "^1.6.1",
"request": "^2.88.0",
"require-directory": "^2.1.1",
"require-main-filename": "^1.0.1",
"requires-port": "^1.0.0",
"reselect": "^3.0.1",
"resolve": "^1.14.2",
"resolve-cwd": "^2.0.0",
"resolve-from": "^3.0.0",
"resolve-url": "^0.2.1",
"ret": "^0.1.15",
"retry": "^0.12.0",
"rgb-regex": "^1.0.1",
"rgba-regex": "^1.0.0",
"rimraf": "^2.7.1",
"ripemd160": "^2.0.2",
"run-queue": "^1.0.3",
"safe-buffer": "^5.2.0",
"safe-regex": "^1.1.0",
"safer-buffer": "^2.1.2",
"sax": "^1.2.4",
"schema-utils": "^1.0.0",
"section-matter": "^1.0.0",
"select": "^1.1.2",
"select-hose": "^2.0.0",
"selfsigned": "^1.10.7",
"semver": "^5.7.1",
"send": "^0.17.1",
"serialize-javascript": "^2.1.2",
"serve-index": "^1.9.1",
"serve-static": "^1.14.1",
"set-blocking": "^2.0.0",
"set-value": "^2.0.1",
"setimmediate": "^1.0.5",
"setprototypeof": "^1.1.1",
"sha.js": "^2.4.11",
"shebang-command": "^1.2.0",
"shebang-regex": "^1.0.0",
"signal-exit": "^3.0.2",
"simple-swizzle": "^0.2.2",
"sitemap": "^3.2.2",
"slash": "^1.0.0",
"smoothscroll-polyfill": "^0.4.4",
"snapdragon": "^0.8.2",
"snapdragon-node": "^2.1.1",
"snapdragon-util": "^3.0.1",
"sockjs": "^0.3.19",
"sockjs-client": "^1.4.0",
"sort-keys": "^2.0.0",
"source-list-map": "^2.0.1",
"source-map": "^0.6.1",
"source-map-resolve": "^0.5.3",
"source-map-support": "^0.5.16",
"source-map-url": "^0.4.0",
"spdy": "^4.0.1",
"spdy-transport": "^3.0.0",
"split-string": "^3.1.0",
"sprintf-js": "^1.0.3",
"sshpk": "^1.16.1",
"ssri": "^6.0.1",
"stable": "^0.1.8",
"stack-utils": "^1.0.2",
"static-extend": "^0.1.2",
"statuses": "^1.5.0",
"std-env": "^2.2.1",
"stream-browserify": "^2.0.2",
"stream-each": "^1.2.3",
"stream-http": "^2.8.3",
"stream-shift": "^1.0.1",
"strict-uri-encode": "^1.1.0",
"string-width": "^2.1.1",
"string.prototype.trimleft": "^2.1.1",
"string.prototype.trimright": "^2.1.1",
"string_decoder": "^1.3.0",
"strip-ansi": "^3.0.1",
"strip-bom-string": "^1.0.0",
"strip-eof": "^1.0.0",
"stylehacks": "^4.0.3",
"stylus": "^0.54.7",
"stylus-loader": "^3.0.2",
"supports-color": "^6.1.0",
"svg-tags": "^1.0.0",
"svgo": "^1.3.2",
"tapable": "^1.1.3",
"terser": "^4.6.3",
"terser-webpack-plugin": "^1.4.3",
"text-table": "^0.2.0",
"through": "^2.3.8",
"through2": "^2.0.5",
"thunky": "^1.1.0",
"timers-browserify": "^2.0.11",
"timsort": "^0.3.0",
"tiny-emitter": "^2.1.0",
"to-arraybuffer": "^1.0.1",
"to-factory": "^1.0.0",
"to-fast-properties": "^2.0.0",
"to-object-path": "^0.3.0",
"to-regex": "^3.0.2",
"to-regex-range": "^2.1.1",
"toidentifier": "^1.0.0",
"toml": "^3.0.0",
"toposort": "^1.0.7",
"tough-cookie": "^2.4.3",
"tr46": "^1.0.1",
"tslib": "^1.10.0",
"tty-browserify": "^0.0.0",
"tunnel-agent": "^0.6.0",
"tweetnacl": "^0.14.5",
"type-fest": "^0.8.1",
"type-is": "^1.6.18",
"typedarray": "^0.0.6",
"uc.micro": "^1.0.6",
"uglify-js": "^3.4.10",
"unicode-canonical-property-names-ecmascript": "^1.0.4",
"unicode-match-property-ecmascript": "^1.0.4",
"unicode-match-property-value-ecmascript": "^1.1.0",
"unicode-property-aliases-ecmascript": "^1.0.5",
"union-value": "^1.0.1",
"uniq": "^1.0.1",
"uniqs": "^2.0.0",
"unique-filename": "^1.1.1",
"unique-slug": "^2.0.2",
"universalify": "^0.1.2",
"unpipe": "^1.0.0",
"unquote": "^1.1.1",
"unset-value": "^1.0.0",
"upath": "^1.2.0",
"upper-case": "^1.1.3",
"uri-js": "^4.2.2",
"urix": "^0.1.0",
"url": "^0.11.0",
"url-loader": "^1.1.2",
"url-parse": "^1.4.7",
"use": "^3.1.1",
"util": "^0.11.1",
"util-deprecate": "^1.0.2",
"util.promisify": "^1.0.0",
"utila": "^0.4.0",
"utils-merge": "^1.0.1",
"uuid": "^3.4.0",
"vary": "^1.1.2",
"vendors": "^1.0.3",
"verror": "^1.10.0",
"vm-browserify": "^1.1.2",
"vue": "^2.6.11",
"vue-hot-reload-api": "^2.3.4",
"vue-loader": "^15.8.3",
"vue-router": "^3.1.5",
"vue-server-renderer": "^2.6.11",
"vue-style-loader": "^4.1.2",
"vue-template-compiler": "^2.6.11",
"vue-template-es2015-compiler": "^1.9.1",
"vuepress": "^1.3.1",
"vuepress-html-webpack-plugin": "^3.2.0",
"vuepress-plugin-container": "^2.1.2",
"vuepress-plugin-sitemap": "^2.3.1",
"vuepress-plugin-smooth-scroll": "^0.0.3",
"vuepress-plugin-zooming": "^1.1.7",
"watchpack": "^1.6.0",
"wbuf": "^1.7.3",
"webidl-conversions": "^4.0.2",
"webpack": "^4.41.5",
"webpack-chain": "^4.12.1",
"webpack-dev-middleware": "^3.7.2",
"webpack-dev-server": "^3.10.1",
"webpack-log": "^2.0.0",
"webpack-merge": "^4.2.2",
"webpack-sources": "^1.4.3",
"webpackbar": "^3.2.0",
"websocket-driver": "^0.7.3",
"websocket-extensions": "^0.1.3",
"whatwg-url": "^7.1.0",
"when": "^3.6.4",
"which": "^1.3.1",
"which-module": "^2.0.0",
"worker-farm": "^1.7.0",
"wrap-ansi": "^5.1.0",
"wrappy": "^1.0.2",
"ws": "^6.2.1",
"xmlbuilder": "^13.0.2",
"xtend": "^4.0.2",
"y18n": "^4.0.0",
"yallist": "^3.1.1",
"yargs": "^12.0.5",
"yargs-parser": "^11.1.1",
"zepto": "^1.2.0"
},
"devDependencies": {},
"scripts": {
"dev": "vuepress dev",
"build": "vuepress build"
},
"author": "",
"license": "ISC"
}

View File

@ -0,0 +1,21 @@
# Screenshots
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/login.jpg" alt="Login" title="Login" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/dashboard.jpg" alt="Dashboard" title="Dashboard" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/proxy-hosts.jpg" alt="Proxy Hosts" title="Proxy Hosts" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/proxy-hosts-new1.jpg" alt="Proxy Host Settings" title="Proxy Host Settings" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/proxy-hosts-new2.jpg" alt="Proxy Host SSL" title="Proxy Host SSL" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/redirection-hosts.jpg" alt="Redirection Hosts" title="Redirection Hosts" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/redirection-hosts-new1.jpg" alt="Redirection Host Settings" title="Redirection Host Settings" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/streams.jpg" alt="Streams" title="Streams" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/streams-new1.jpg" alt="Stream Settings" title="Stream Settings" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/dead-hosts.jpg" alt="404 Hosts" title="404 Hosts" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/dead-hosts-new1.jpg" alt="404 Host Settings" title="404 Host Settings" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/certificates.jpg" alt="Certificates" title="Certificates" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/certificates-new1.jpg" alt="Lets Encrypt Certificates" title="Lets Encrypt Certificates" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/certificates-new2.jpg" alt="Custom Certificates" title="Custom Certificates" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/access-lists.jpg" alt="Access Lists" title="Access Lists" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/access-lists-new1.jpg" alt="Access List Users" title="Access List Users" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/users.jpg" alt="Users" title="Users" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/users-permissions.jpg" alt="User Permissions" title="User Permissions" width="200"/>
<img class="no-medium-zoom zooming" src="https://public.jc21.com/nginx-proxy-manager/v2/large/audit-log.jpg" alt="Audit Log" title="Audit Log" width="200"/>

View File

@ -1,13 +1,4 @@
## Installation and Configuration
If you just want to get up and running in the quickest time possible, grab all the files in
the [doc/example/](https://github.com/jc21/nginx-proxy-manager/tree/master/doc/example)
folder and run:
```bash
docker-compose up -d
```
# Full Setup Instructions
### Configuration File
@ -48,6 +39,12 @@ This app doesn't come with a database, you have to provide one yourself. Current
It's easy to use another docker container for your database also and link it as part of the docker stack, so that's what the following examples
are going to use.
::: warning
When using a `mariadb` database, the NPM configuration file should still use the `mysql` engine!
:::
### Running the App
@ -61,11 +58,11 @@ services:
restart: always
ports:
# Public HTTP Port:
- 80:80
- '80:80'
# Public HTTPS Port:
- 443:443
- '443:443'
# Admin Web Port:
- 81:81
- '81:81'
volumes:
# Make sure this config.json file exists as per instructions above:
- ./config.json:/app/config/production.json
@ -74,7 +71,7 @@ services:
depends_on:
- db
db:
image: jc21/mariadb-aria:latest
image: jc21/mariadb-aria:10.4
restart: always
environment:
MYSQL_ROOT_PASSWORD: "npm"
@ -114,9 +111,9 @@ on Raspbian.
After the app is running for the first time, the following will happen:
- The database will initialize with table structures
- GPG keys will be generated and saved in the configuration file
- A default admin user will be created
1. The database will initialize with table structures
2. GPG keys will be generated and saved in the configuration file
3. A default admin user will be created
This process can take a couple of minutes depending on your machine.
@ -129,22 +126,3 @@ Password: changeme
```
Immediately after logging in with this default user you will be asked to modify your details and change your password.
### Advanced Options
#### X-FRAME-OPTIONS Header
You can configure the [`X-FRAME-OPTIONS`](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/X-Frame-Options) header
value by specifying it as a Docker environment variable. The default if not specified is `deny`.
```yml
...
environment:
X_FRAME_OPTIONS: "sameorigin"
...
```
```
... -e "X_FRAME_OPTIONS=sameorigin" ...
```

12
docs/third-party/README.md vendored Normal file
View File

@ -0,0 +1,12 @@
# Third Party
As this software gains popularity it's common to see it integrated with other platforms. Please be aware that unless specifically mentioned in the documenation of those
integrations, they are *not supported* by me.
Known integrations:
- [HomeAssistant Hass.io plugin](https://github.com/hassio-addons/addon-nginx-proxy-manager)
- [UnRaid / Synology](https://github.com/jlesage/docker-nginx-proxy-manager)
If you would like your integration of NPM listed, please open a
[Github issue](https://github.com/jc21/nginx-proxy-manager/issues/new?assignees=&labels=enhancement&template=feature_request.md&title=)

7964
docs/yarn.lock Normal file

File diff suppressed because it is too large Load Diff