Merge remote-tracking branch 'upstream/develop' into develop
This commit is contained in:
commit
6a52e905e4
6 changed files with 270 additions and 0 deletions
61
docs/.vitepress/config.mts
Normal file
61
docs/.vitepress/config.mts
Normal file
|
@ -0,0 +1,61 @@
|
||||||
|
import { defineConfig, type DefaultTheme } from 'vitepress';
|
||||||
|
|
||||||
|
// https://vitepress.dev/reference/site-config
|
||||||
|
export default defineConfig({
|
||||||
|
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"}],
|
||||||
|
// GA
|
||||||
|
['script', { async: 'true', src: 'https://www.googletagmanager.com/gtag/js?id=G-TXT8F5WY5B'}],
|
||||||
|
['script', {}, "window.dataLayer = window.dataLayer || [];\nfunction gtag(){dataLayer.push(arguments);}\ngtag('js', new Date());\ngtag('config', 'G-TXT8F5WY5B');"],
|
||||||
|
],
|
||||||
|
sitemap: {
|
||||||
|
hostname: 'https://nginxproxymanager.com'
|
||||||
|
},
|
||||||
|
metaChunk: true,
|
||||||
|
srcDir: './src',
|
||||||
|
outDir: './dist',
|
||||||
|
themeConfig: {
|
||||||
|
// https://vitepress.dev/reference/default-theme-config
|
||||||
|
logo: { src: '/logo.svg', width: 24, height: 24 },
|
||||||
|
nav: [
|
||||||
|
{ text: 'Setup', link: '/setup/' },
|
||||||
|
],
|
||||||
|
sidebar: [
|
||||||
|
{
|
||||||
|
items: [
|
||||||
|
// { text: 'Home', link: '/' },
|
||||||
|
{ text: 'Guide', link: '/guide/' },
|
||||||
|
{ text: 'Screenshots', link: '/screenshots/' },
|
||||||
|
{ text: 'Setup Instructions', link: '/setup/' },
|
||||||
|
{ text: 'Advanced Configuration', link: '/advanced-config/' },
|
||||||
|
{ text: 'Upgrading', link: '/upgrading/' },
|
||||||
|
{ text: 'Frequently Asked Questions', link: '/faq/' },
|
||||||
|
{ text: 'Third Party', link: '/third-party/' },
|
||||||
|
]
|
||||||
|
}
|
||||||
|
],
|
||||||
|
socialLinks: [
|
||||||
|
{ icon: 'github', link: 'https://github.com/NginxProxyManager/nginx-proxy-manager' }
|
||||||
|
],
|
||||||
|
search: {
|
||||||
|
provider: 'local'
|
||||||
|
},
|
||||||
|
footer: {
|
||||||
|
message: 'Released under the MIT License.',
|
||||||
|
copyright: 'Copyright © 2016-present jc21.com'
|
||||||
|
}
|
||||||
|
}
|
||||||
|
});
|
27
docs/.vitepress/theme/custom.css
Normal file
27
docs/.vitepress/theme/custom.css
Normal file
|
@ -0,0 +1,27 @@
|
||||||
|
:root {
|
||||||
|
--vp-home-hero-name-color: transparent;
|
||||||
|
--vp-home-hero-name-background: -webkit-linear-gradient(120deg, #f15833 30%, #FAA42F);
|
||||||
|
|
||||||
|
--vp-home-hero-image-background-image: linear-gradient(-45deg, #aaaaaa 50%, #777777 50%);
|
||||||
|
--vp-home-hero-image-filter: blur(44px);
|
||||||
|
|
||||||
|
--vp-c-brand-1: #f15833;
|
||||||
|
--vp-c-brand-2: #FAA42F;
|
||||||
|
--vp-c-brand-3: #f15833;
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 640px) {
|
||||||
|
:root {
|
||||||
|
--vp-home-hero-image-filter: blur(56px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
@media (min-width: 960px) {
|
||||||
|
:root {
|
||||||
|
--vp-home-hero-image-filter: blur(68px);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
.inline-img img {
|
||||||
|
display: inline;
|
||||||
|
}
|
4
docs/.vitepress/theme/index.ts
Normal file
4
docs/.vitepress/theme/index.ts
Normal file
|
@ -0,0 +1,4 @@
|
||||||
|
import DefaultTheme from 'vitepress/theme'
|
||||||
|
import './custom.css'
|
||||||
|
|
||||||
|
export default DefaultTheme
|
126
docs/src/guide/index.md
Normal file
126
docs/src/guide/index.md
Normal file
|
@ -0,0 +1,126 @@
|
||||||
|
---
|
||||||
|
outline: deep
|
||||||
|
---
|
||||||
|
|
||||||
|
# Guide
|
||||||
|
|
||||||
|
::: raw
|
||||||
|
<p align="center">
|
||||||
|
<a href="https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager" style="display:inline;margin-right:5px;">
|
||||||
|
<img src="https://img.shields.io/docker/stars/jc21/nginx-proxy-manager.svg?style=for-the-badge" style="display:inline;">
|
||||||
|
</a>
|
||||||
|
<a href="https://hub.docker.com/repository/docker/jc21/nginx-proxy-manager" style="display:inline;margin-right:5px;">
|
||||||
|
<img src="https://img.shields.io/docker/pulls/jc21/nginx-proxy-manager.svg?style=for-the-badge" style="display:inline;">
|
||||||
|
</a>
|
||||||
|
</p>
|
||||||
|
:::
|
||||||
|
|
||||||
|
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](#quick-setup)
|
||||||
|
- [Full Setup](/setup/)
|
||||||
|
- [Screenshots](/screenshots/)
|
||||||
|
|
||||||
|
## Project Goal
|
||||||
|
|
||||||
|
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.
|
||||||
|
|
||||||
|
::: raw
|
||||||
|
<a href="https://www.buymeacoffee.com/jc21" target="_blank"><img src="http://public.jc21.com/github/by-me-a-coffee.png" alt="Buy Me A Coffee" style="height: 51px !important;width: 217px !important;" ></a>
|
||||||
|
:::
|
||||||
|
|
||||||
|
## Features
|
||||||
|
|
||||||
|
- 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
|
||||||
|
|
||||||
|
|
||||||
|
## 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.
|
||||||
|
|
||||||
|
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/get-docker/)
|
||||||
|
- [Docker-Compose Install documentation](https://docs.docker.com/compose/install/)
|
||||||
|
|
||||||
|
2. Create a docker-compose.yml file similar to this:
|
||||||
|
|
||||||
|
```yml
|
||||||
|
version: '3.8'
|
||||||
|
services:
|
||||||
|
app:
|
||||||
|
image: '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)
|
32
docs/src/index.md
Normal file
32
docs/src/index.md
Normal file
|
@ -0,0 +1,32 @@
|
||||||
|
---
|
||||||
|
# https://vitepress.dev/reference/default-theme-home-page
|
||||||
|
layout: home
|
||||||
|
|
||||||
|
hero:
|
||||||
|
name: "Nginx Proxy Manager"
|
||||||
|
tagline: Expose your services easily and securely
|
||||||
|
image:
|
||||||
|
src: /logo.svg
|
||||||
|
alt: NPM Logo
|
||||||
|
actions:
|
||||||
|
- theme: brand
|
||||||
|
text: Get Started
|
||||||
|
link: /guide/
|
||||||
|
- theme: alt
|
||||||
|
text: GitHub
|
||||||
|
link: https://github.com/NginxProxyManager/nginx-proxy-manager
|
||||||
|
|
||||||
|
features:
|
||||||
|
- title: Get Connected
|
||||||
|
details: Expose web services on your network · Free SSL with Let's Encrypt · Designed with security in mind · Perfect for home networks
|
||||||
|
- title: Proxy Hosts
|
||||||
|
details: Expose your private network Web services and get connected anywhere.
|
||||||
|
- title: Beautiful UI
|
||||||
|
details: Based on Tabler, the interface is a pleasure to use. Configuring a server has never been so fun.
|
||||||
|
- title: Free SSL
|
||||||
|
details: Built in Let’s Encrypt support allows you to secure your Web services at no cost to you. The certificates even renew themselves!
|
||||||
|
- title: Docker FTW
|
||||||
|
details: Built as a Docker Image, Nginx Proxy Manager only requires a database.
|
||||||
|
- title: Multiple Users
|
||||||
|
details: Configure other users to either view or manage their own hosts. Full access permissions are available.
|
||||||
|
---
|
20
docs/src/screenshots/index.md
Normal file
20
docs/src/screenshots/index.md
Normal file
|
@ -0,0 +1,20 @@
|
||||||
|
---
|
||||||
|
outline: deep
|
||||||
|
---
|
||||||
|
|
||||||
|
# Screenshots
|
||||||
|
|
||||||
|
::: raw
|
||||||
|
<div class="inline-img">
|
||||||
|
<a href="/screenshots/login.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/login.png" alt="Login" title="Login" width="200"/></a>
|
||||||
|
<a href="/screenshots/dashboard.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/dashboard.png" alt="Dashboard" title="Dashboard" width="200"/></a>
|
||||||
|
<a href="/screenshots/proxy-hosts.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/proxy-hosts.png" alt="Proxy Hosts" title="Proxy Hosts" width="200"/></a>
|
||||||
|
<a href="/screenshots/proxy-hosts-add.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/proxy-hosts-add.png" alt="Add Proxy Host" title="Add Proxy Host" width="200"/></a>
|
||||||
|
<a href="/screenshots/redirection-hosts.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/redirection-hosts.png" alt="Redirection Hosts" title="Redirection Hosts" width="200"/></a>
|
||||||
|
<a href="/screenshots/dead-hosts.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/dead-hosts.png" alt="404 Hosts" title="404 Hosts" width="200"/></a>
|
||||||
|
<a href="/screenshots/permissions.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/permissions.png" alt="User Permissions" title="User Permissions" width="200"/></a>
|
||||||
|
<a href="/screenshots/certificates.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/certificates.png" alt="Certificates" title="Certificates" width="200"/></a>
|
||||||
|
<a href="/screenshots/audit-log.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/audit-log.png" alt="Audit Log" title="Audit Log" width="200"/></a>
|
||||||
|
<a href="/screenshots/custom-settings.png" target="_blank"><img class="no-medium-zoom zooming" src="/screenshots/custom-settings.png" alt="Custom Settings" title="Custom Settings" width="200"/></a>
|
||||||
|
</div>
|
||||||
|
:::
|
Loading…
Reference in a new issue