mirror of
https://github.com/nickyeoman/docker-compose-cookbooks.git
synced 2026-09-03 18:36:22 +00:00
nginx-proxy-manager: add upgrade/backup workflow, rename container, fix wording
Documents backing up with restic before upgrading, for both the compose and docker run workflows. Renames the docker run container to nginx-proxy-manager to match the directory, and cleans up minor wording and trailing-slash inconsistencies in the README. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
@@ -6,7 +6,7 @@ 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.
|
||||
This Docker Compose configuration sets up the Reverse Proxy application using a 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/)
|
||||
@@ -40,7 +40,7 @@ mkdir -p /data/nginx-proxy-manager/data /data/nginx-proxy-manager/letsencrypt /v
|
||||
|
||||
## 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.
|
||||
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
|
||||
@@ -54,7 +54,7 @@ mkdir -p /data/nginx-proxy-manager/data /data/nginx-proxy-manager/letsencrypt /v
|
||||
docker network create proxy
|
||||
|
||||
docker run -d \
|
||||
--name proxy \
|
||||
--name nginx-proxy-manager \
|
||||
--restart unless-stopped \
|
||||
--network proxy \
|
||||
-e X_FRAME_OPTIONS="sameorigin" \
|
||||
@@ -65,5 +65,43 @@ docker run -d \
|
||||
-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
|
||||
jc21/nginx-proxy-manager:latest
|
||||
```
|
||||
|
||||
## Upgrade (and backup)
|
||||
|
||||
Back up the data volume with restic before upgrading, so you can restore it if the new version doesn't come up cleanly. Logs aren't included since they're not needed for a restore.
|
||||
|
||||
```bash
|
||||
restic backup /data/nginx-proxy-manager
|
||||
```
|
||||
|
||||
Once the backup completes, pull the new image and recreate the container:
|
||||
|
||||
```bash
|
||||
docker compose pull
|
||||
docker compose up -d
|
||||
```
|
||||
|
||||
Or, if you're running the `docker run` version instead of compose:
|
||||
|
||||
```bash
|
||||
docker pull jc21/nginx-proxy-manager:latest
|
||||
docker stop nginx-proxy-manager
|
||||
docker rm nginx-proxy-manager
|
||||
docker run -d \
|
||||
--name nginx-proxy-manager \
|
||||
--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:latest
|
||||
```
|
||||
|
||||
If something goes wrong, restore the snapshot with `restic restore latest --target /` (or `restic snapshots` to pick an earlier one) and start the old container again.
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
services:
|
||||
proxy:
|
||||
image: ${PROXY_IMAGE:-jc21/nginx-proxy-manager:2.15.0}
|
||||
image: ${PROXY_IMAGE:-jc21/nginx-proxy-manager:latest}
|
||||
restart: unless-stopped
|
||||
environment:
|
||||
X_FRAME_OPTIONS: "sameorigin"
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
# Nginx Proxy Manager
|
||||
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.1
|
||||
|
||||
Reference in New Issue
Block a user