nginx-proxy-manager docker deployment
Go to file
Radar231 a9ec3f0e94 re-encrypted secrets with ansible-vault 2023-12-18 20:30:43 -05:00
.gitignore Encrypted npm.env with sops/age 2021-12-22 09:40:52 -05:00
README.md updated readme to use markdown for code block 2021-10-30 07:39:30 -04:00
docker-compose.yml updated npm and maria to specific versions (instead of 'latest') 2021-12-14 22:42:33 -05:00
npm.enc.env re-encrypted secrets with ansible-vault 2023-12-18 20:30:43 -05:00

README.md

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