Compare commits
2 Commits
f12f945a04
...
46e786b219
| Author | SHA1 | Date | |
|---|---|---|---|
| 46e786b219 | |||
| f2604ff1fd |
@@ -1,5 +1,7 @@
|
|||||||
# Initial Setup Instructions
|
# Initial Setup Instructions
|
||||||
|
|
||||||
How to first begin using this subproject.
|
How to first begin using this subproject.
|
||||||
|
|
||||||
1. Move to the directory of this README.
|
1. Move to the directory of this README.
|
||||||
```
|
```
|
||||||
$ cd $DOCKER_HOME/Config/ReverseProxy
|
$ cd $DOCKER_HOME/Config/ReverseProxy
|
||||||
@@ -10,6 +12,7 @@ How to first begin using this subproject.
|
|||||||
# ./create_placeholder_certs.sh
|
# ./create_placeholder_certs.sh
|
||||||
```
|
```
|
||||||
1. Make any personal changes to `./config/nginx.conf`.
|
1. Make any personal changes to `./config/nginx.conf`.
|
||||||
|
1. Copy the example files as `docker-compose.yml` and `.env`.
|
||||||
1. Build the project.
|
1. Build the project.
|
||||||
```
|
```
|
||||||
# docker compose build
|
# docker compose build
|
||||||
@@ -20,8 +23,8 @@ How to first begin using this subproject.
|
|||||||
```
|
```
|
||||||
1. Verify it started correctly, no configuration file errors.
|
1. Verify it started correctly, no configuration file errors.
|
||||||
```
|
```
|
||||||
# docker logs reverseproxy-app-1
|
# docker logs rp-app
|
||||||
# docker logs reverseproxy-certbot-1
|
# docker logs rp-certbot
|
||||||
```
|
```
|
||||||
1. Create the real certificates.
|
1. Create the real certificates.
|
||||||
```
|
```
|
||||||
@@ -34,6 +37,7 @@ How to first begin using this subproject.
|
|||||||
```
|
```
|
||||||
|
|
||||||
## DO NOT
|
## DO NOT
|
||||||
|
|
||||||
* Edit any configurations or website data inside the container. It is destroyed on each build.
|
* Edit any configurations or website data inside the container. It is destroyed on each build.
|
||||||
* Instead, modify the files in `./config/` then use the Update Config commands below.
|
* Instead, modify the files in `./config/` then use the Update Config commands below.
|
||||||
* Install any additional software inside of the container. It will not persist a down and up.
|
* Install any additional software inside of the container. It will not persist a down and up.
|
||||||
@@ -41,17 +45,22 @@ How to first begin using this subproject.
|
|||||||
* Alternatively write a script such as `../Nextcloud/fixes.ksh` which is run after every upgrade.
|
* Alternatively write a script such as `../Nextcloud/fixes.ksh` which is run after every upgrade.
|
||||||
|
|
||||||
# Other Commands
|
# Other Commands
|
||||||
|
|
||||||
Tasks which will also likely come up while using this subproject.
|
Tasks which will also likely come up while using this subproject.
|
||||||
|
|
||||||
## Stop
|
## Stop
|
||||||
|
|
||||||
If the proxy needs turned off either stop or down may be used.
|
If the proxy needs turned off either stop or down may be used.
|
||||||
|
|
||||||
```
|
```
|
||||||
# docker compose stop
|
# docker compose stop
|
||||||
# docker compose down
|
# docker compose down
|
||||||
```
|
```
|
||||||
|
|
||||||
## Upgrade
|
## Upgrade
|
||||||
|
|
||||||
Upgrading the containers should be as easy as this:
|
Upgrading the containers should be as easy as this:
|
||||||
|
|
||||||
```
|
```
|
||||||
# docker compose down
|
# docker compose down
|
||||||
# docker compose pull
|
# docker compose pull
|
||||||
@@ -60,15 +69,19 @@ Upgrading the containers should be as easy as this:
|
|||||||
```
|
```
|
||||||
|
|
||||||
## Update Config
|
## Update Config
|
||||||
|
|
||||||
Replace the configuration based on any new, updated, or removed files.
|
Replace the configuration based on any new, updated, or removed files.
|
||||||
This may be possible to do when the system is up, but the best results have come from going down and back up.
|
This may be possible to do when the system is up, but the best results have come from going down and back up.
|
||||||
This is essentially an upgrade but there is no pull.
|
This is essentially an upgrade but there is no pull.
|
||||||
|
|
||||||
```
|
```
|
||||||
# docker compose down
|
# docker compose down
|
||||||
# docker compose build
|
# docker compose build
|
||||||
# docker compose up -d
|
# docker compose up -d
|
||||||
```
|
```
|
||||||
|
|
||||||
If wanted as a one-line command:
|
If wanted as a one-line command:
|
||||||
|
|
||||||
```
|
```
|
||||||
# docker compose down && docker compose build && docker compose up -d
|
# docker compose down && docker compose build && docker compose up -d
|
||||||
```
|
```
|
||||||
|
|||||||
@@ -16,6 +16,9 @@ services:
|
|||||||
ports:
|
ports:
|
||||||
- "80:80"
|
- "80:80"
|
||||||
- "443:443"
|
- "443:443"
|
||||||
|
environment:
|
||||||
|
- CPU=$CPU
|
||||||
|
- MEM=$MEM
|
||||||
volumes:
|
volumes:
|
||||||
- ../../Volumes/ReverseProxy/letsencrypt:/etc/nginx/letsencrypt
|
- ../../Volumes/ReverseProxy/letsencrypt:/etc/nginx/letsencrypt
|
||||||
- ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/nginx/certs
|
- ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/nginx/certs
|
||||||
@@ -24,13 +27,16 @@ services:
|
|||||||
mode: global
|
mode: global
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpus: '0.20'
|
cpus: $CPU
|
||||||
memory: 64M
|
memory: $MEM
|
||||||
|
|
||||||
certbot:
|
certbot:
|
||||||
container_name: rp-certbot
|
container_name: rp-certbot
|
||||||
image: certbot/certbot
|
image: certbot/certbot
|
||||||
restart: always
|
restart: always
|
||||||
|
environment:
|
||||||
|
- CPU_LE=$CPU_LE
|
||||||
|
- MEM_LE=$MEM_LE
|
||||||
volumes:
|
volumes:
|
||||||
- ../../Volumes/ReverseProxy/letsencrypt:/etc/letsencrypt
|
- ../../Volumes/ReverseProxy/letsencrypt:/etc/letsencrypt
|
||||||
- ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/letsencrypt/nginx
|
- ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/letsencrypt/nginx
|
||||||
@@ -39,5 +45,5 @@ services:
|
|||||||
mode: global
|
mode: global
|
||||||
resources:
|
resources:
|
||||||
limits:
|
limits:
|
||||||
cpus: '0.10'
|
cpus: $CPU_LE
|
||||||
memory: 32M
|
memory: $MEM_LE
|
||||||
@@ -1,49 +0,0 @@
|
|||||||
# 2022-10-05 Hyperling
|
|
||||||
# Reverse Proxy with LetsEncrypt Certbot.
|
|
||||||
# This is a revised version of these works:
|
|
||||||
# https://phoenixnap.com/kb/docker-nginx-reverse-proxy
|
|
||||||
# https://www.docker.com/blog/how-to-use-the-official-nginx-docker-image/
|
|
||||||
# https://pentacent.medium.com/nginx-and-lets-encrypt-with-docker-in-less-than-5-minutes-b4b8a60d3a71
|
|
||||||
|
|
||||||
services:
|
|
||||||
|
|
||||||
app:
|
|
||||||
container_name: rp-app
|
|
||||||
build:
|
|
||||||
context: ./
|
|
||||||
network: host
|
|
||||||
restart: always
|
|
||||||
ports:
|
|
||||||
- "80:80"
|
|
||||||
- "443:443"
|
|
||||||
volumes:
|
|
||||||
- ../../Volumes/ReverseProxy/letsencrypt:/etc/nginx/letsencrypt
|
|
||||||
- ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/nginx/certs
|
|
||||||
command: "/bin/sh -c 'while :; do sleep 6h & wait $${!}; nginx -s reload; done & nginx -g \"daemon off;\"'"
|
|
||||||
deploy:
|
|
||||||
mode: global
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpus: '1.00'
|
|
||||||
memory: 512M
|
|
||||||
reservations:
|
|
||||||
cpus: '0.25'
|
|
||||||
memory: 128M
|
|
||||||
|
|
||||||
certbot:
|
|
||||||
container_name: rp-certbot
|
|
||||||
image: certbot/certbot
|
|
||||||
restart: always
|
|
||||||
volumes:
|
|
||||||
- ../../Volumes/ReverseProxy/letsencrypt:/etc/letsencrypt
|
|
||||||
- ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/letsencrypt/nginx
|
|
||||||
entrypoint: "/bin/sh -c 'trap exit TERM; while :; do certbot renew; cp -rL /etc/letsencrypt/live/* /etc/letsencrypt/nginx/; sleep 12h & wait $${!}; done;'"
|
|
||||||
deploy:
|
|
||||||
mode: global
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpus: '0.50'
|
|
||||||
memory: 256M
|
|
||||||
reservations:
|
|
||||||
cpus: '0.25'
|
|
||||||
memory: 128M
|
|
||||||
19
Config/ReverseProxy/example.env
Normal file
19
Config/ReverseProxy/example.env
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
# This file will need copied as `.env` and adjusted as necessary.
|
||||||
|
|
||||||
|
## Docker ##
|
||||||
|
|
||||||
|
COMPOSE_BAKE=true
|
||||||
|
|
||||||
|
## Performance ##
|
||||||
|
|
||||||
|
# Micro Server
|
||||||
|
CPU=0.20
|
||||||
|
MEM=0.10G
|
||||||
|
CPU_LE=0.10
|
||||||
|
MEM_LE=0.05G
|
||||||
|
|
||||||
|
# Capable Server
|
||||||
|
#CPU=1.00
|
||||||
|
#MEM=0.50G
|
||||||
|
#CPU_LE=0.50
|
||||||
|
#MEM_LE=0.25G
|
||||||
Reference in New Issue
Block a user