2021-08-01 16:32:22 -04:00
|
|
|
# nginx-proxy-manager docker deployment
|
|
|
|
|
|
|
|
## Introduction
|
|
|
|
|
|
|
|
This is a docker-compose configuration to deploy an nginx-proxy-manager
|
|
|
|
instance. It provides web site proxying via nginx, as well as SSL
|
|
|
|
support via letsencrypt.
|
|
|
|
|
|
|
|
## Custom Network
|
|
|
|
|
|
|
|
To simplify inter-container communications when using a docker-compose
|
|
|
|
file for each web site, create a custom network to be shared between
|
|
|
|
nginx-proxy-manager and each web app.
|
|
|
|
|
2021-10-30 07:39:30 -04:00
|
|
|
```
|
2021-08-01 16:32:22 -04:00
|
|
|
$ docker network create npm-backend
|
2021-10-30 07:39:30 -04:00
|
|
|
```
|
2021-08-01 16:32:22 -04:00
|
|
|
|
|
|
|
To use this network, a networks section needs to be added to each
|
|
|
|
docker-compose.yml file. In addition, the nginx-proxy-manager is set
|
|
|
|
to use both it's default network, as well as the npm-backend network.
|
|
|
|
For all of the web apps, the npm-backend will be set as the default network.
|
|
|
|
|
2021-10-30 07:39:30 -04:00
|
|
|
```
|
2021-08-01 16:32:22 -04:00
|
|
|
-----[ nginx-proxy-manager docker.compose.yml ]-----
|
|
|
|
---
|
|
|
|
version: '3'
|
|
|
|
|
|
|
|
networks:
|
|
|
|
npm-backend:
|
|
|
|
external:
|
|
|
|
name: npm-backend
|
|
|
|
|
|
|
|
services:
|
|
|
|
nginx-proxy-manager:
|
|
|
|
(...)
|
|
|
|
networks:
|
|
|
|
- default
|
|
|
|
- npm-backend
|
|
|
|
(...)
|
|
|
|
|
|
|
|
-----[ each web app docker.compose.yml ]-----
|
|
|
|
---
|
|
|
|
version: '3.2'
|
|
|
|
|
|
|
|
services:
|
|
|
|
web-app:
|
|
|
|
(...)
|
|
|
|
|
|
|
|
networks:
|
|
|
|
default:
|
|
|
|
external: true
|
|
|
|
name: npm-backend
|
2021-10-30 07:39:30 -04:00
|
|
|
```
|
2021-08-01 16:32:22 -04:00
|
|
|
|
|
|
|
## Links
|
|
|
|
|
|
|
|
* https://nginxproxymanager.com
|
|
|
|
* https://github.com/jc21/nginx-proxy-manager
|
|
|
|
* https://letsencrypt.org
|
|
|
|
|
|
|
|
## Directories
|
|
|
|
|
2021-10-30 07:39:30 -04:00
|
|
|
```
|
2021-08-01 16:32:22 -04:00
|
|
|
nginx-proxy-manager
|
|
|
|
├── data
|
|
|
|
│ └── mysql
|
|
|
|
└── letsencrypt
|
2021-10-30 07:39:30 -04:00
|
|
|
```
|
2021-08-01 16:32:22 -04:00
|
|
|
|