mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
Rename nginx-proxy-manager_notes to nginx-proxy-manager, add docker run equivalent and log volume
Adds a docker run command equivalent to the compose file, splits container logs out to a separate LOG_PATH volume (they shouldn't be backed up with the rest of the data), and cleans up README wording. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,69 @@
|
|||||||
|
# Nginx Proxy Manager
|
||||||
|
|
||||||
|
Remember, if dockhand is using a domain name, this will have to be set up first.
|
||||||
|
|
||||||
|
I run one instance of Nginx Proxy Manager (NPM) on each host.
|
||||||
|
|
||||||
|
## Overview
|
||||||
|
|
||||||
|
This Docker Compose configuration sets up the Reverse Proxy application using Docker container.
|
||||||
|
|
||||||
|
- App: [Proxy Manager on Docker Hub](https://hub.docker.com/r/jc21/nginx-proxy-manager)
|
||||||
|
- Official Site: [Nginx Proxy Manager](https://nginxproxymanager.com/)
|
||||||
|
- [Docker tags](https://hub.docker.com/r/jc21/nginx-proxy-manager/tags)
|
||||||
|
- Expose ports: 80, 81, 443
|
||||||
|
|
||||||
|
## Default Login
|
||||||
|
|
||||||
|
* Email: admin@example.com
|
||||||
|
* Password: changeme
|
||||||
|
|
||||||
|
## Create Network
|
||||||
|
|
||||||
|
The first thing you want to do is create the network:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
docker network create proxy
|
||||||
|
```
|
||||||
|
|
||||||
|
## Expose Ports
|
||||||
|
|
||||||
|
80 and 443 must be exposed, but you could proxy to 81 for the admin interface.
|
||||||
|
|
||||||
|
### Create volumes
|
||||||
|
|
||||||
|
Assuming default sample.env is used:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p /data/nginx-proxy-manager/data /data/nginx-proxy-manager/letsencrypt /var/log/containers/nginx-proxy-manager
|
||||||
|
```
|
||||||
|
|
||||||
|
## Logs
|
||||||
|
|
||||||
|
Nginx Proxy Manager writes access/error logs under `/data/logs`, which is mounted outside of `VOL_PATH`. Since logs shouldn't be backed up with the rest of the data, they're mounted separately via `LOG_PATH`, which defaults to `/var/log/containers/nginx-proxy-manager/`. If you'd rather back up/sync logs with the rest of the data, just remove the logs volume.
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p /var/log/containers/nginx-proxy-manager
|
||||||
|
```
|
||||||
|
|
||||||
|
## Equivalent docker run command
|
||||||
|
|
||||||
|
```bash
|
||||||
|
mkdir -p /data/nginx-proxy-manager/data /data/nginx-proxy-manager/letsencrypt /var/log/containers/nginx-proxy-manager
|
||||||
|
|
||||||
|
docker network create proxy
|
||||||
|
|
||||||
|
docker run -d \
|
||||||
|
--name proxy \
|
||||||
|
--restart unless-stopped \
|
||||||
|
--network proxy \
|
||||||
|
-e X_FRAME_OPTIONS="sameorigin" \
|
||||||
|
-e DB_SQLITE_FILE="/data/database.sqlite" \
|
||||||
|
-p 80:80 \
|
||||||
|
-p 81:81 \
|
||||||
|
-p 443:443 \
|
||||||
|
-v "/data/nginx-proxy-manager/data:/data" \
|
||||||
|
-v "/data/nginx-proxy-manager/letsencrypt:/etc/letsencrypt" \
|
||||||
|
-v "/var/log/containers/nginx-proxy-manager:/data/logs" \
|
||||||
|
jc21/nginx-proxy-manager:2.15.1
|
||||||
|
```
|
||||||
@@ -1,6 +1,6 @@
|
|||||||
services:
|
services:
|
||||||
proxy:
|
proxy:
|
||||||
image: ${PROXY_IMAGE}
|
image: ${PROXY_IMAGE:-jc21/nginx-proxy-manager:2.15.0}
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
environment:
|
environment:
|
||||||
X_FRAME_OPTIONS: "sameorigin"
|
X_FRAME_OPTIONS: "sameorigin"
|
||||||
@@ -10,8 +10,9 @@ services:
|
|||||||
- "81:81"
|
- "81:81"
|
||||||
- "443:443"
|
- "443:443"
|
||||||
volumes:
|
volumes:
|
||||||
- "${VOL_PATH}/proxy/data:/data"
|
- "${VOL_PATH:-/data}/nginx-proxy-manager/data:/data"
|
||||||
- "${VOL_PATH}/proxy/letsencrypt:/etc/letsencrypt"
|
- "${VOL_PATH:-/data}/nginx-proxy-manager/letsencrypt:/etc/letsencrypt"
|
||||||
|
- "${LOG_PATH:-/var/log/containers/nginx-proxy-manager}:/data/logs"
|
||||||
networks:
|
networks:
|
||||||
- proxy
|
- proxy
|
||||||
|
|
||||||
@@ -1,3 +1,4 @@
|
|||||||
# Nginx Proxy Manager
|
# Nginx Proxy Manager
|
||||||
VOL_PATH=/data
|
VOL_PATH=/data
|
||||||
|
LOG_PATH=/var/log/containers/nginx-proxy-manager
|
||||||
PROXY_IMAGE=jc21/nginx-proxy-manager:2.15.0
|
PROXY_IMAGE=jc21/nginx-proxy-manager:2.15.0
|
||||||
@@ -1,38 +0,0 @@
|
|||||||
# Nginx Proxy Manager
|
|
||||||
|
|
||||||
This doesn't really work in dockhand as you won't have access to a lot of services without this running.
|
|
||||||
Moved to notes section, run the compose file manually.
|
|
||||||
|
|
||||||
## Overview
|
|
||||||
This Docker Compose configuration sets up the Reverse Proxy application using Docker container.
|
|
||||||
|
|
||||||
- App: [Proxy Manager on Docker Hub](https://hub.docker.com/r/jc21/nginx-proxy-manager)
|
|
||||||
- Official Site: [Nginx Proxy Manager](https://nginxproxymanager.com/)
|
|
||||||
- [Docker tags](https://hub.docker.com/r/jc21/nginx-proxy-manager/tags)
|
|
||||||
- Expose ports: 80, 81, 443
|
|
||||||
|
|
||||||
## Default Login
|
|
||||||
|
|
||||||
* Email: admin@example.com
|
|
||||||
* Password: changeme
|
|
||||||
|
|
||||||
## Create Network
|
|
||||||
|
|
||||||
The first thing you want to do is create the network:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
docker network create proxy
|
|
||||||
```
|
|
||||||
|
|
||||||
## Expose Ports
|
|
||||||
|
|
||||||
80 and 443 must be exposed, but you could proxy to 81 for the admin interface.
|
|
||||||
|
|
||||||
## Project Setup
|
|
||||||
|
|
||||||
See sample-extends.yml
|
|
||||||
|
|
||||||
### Create volumes
|
|
||||||
```bash
|
|
||||||
mkdir -p data/proxy data/proxy-letsencrypt
|
|
||||||
```
|
|
||||||
Reference in New Issue
Block a user