docker_nginx-proxy-manager/README.md

1.3 KiB

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

Directories

nginx-proxy-manager
├── data
│   └── mysql
└── letsencrypt