# 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. ``` $ docker network create npm-backend ``` 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. ``` -----[ 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 ``` ## Links * https://nginxproxymanager.com * https://github.com/jc21/nginx-proxy-manager * https://letsencrypt.org ## Directories ``` nginx-proxy-manager ├── data │   └── mysql └── letsencrypt ```