Compare commits
2 Commits
f12f945a04
...
46e786b219
| Author | SHA1 | Date | |
|---|---|---|---|
| 46e786b219 | |||
| f2604ff1fd |
@@ -1,5 +1,7 @@
|
||||
# Initial Setup Instructions
|
||||
|
||||
How to first begin using this subproject.
|
||||
|
||||
1. Move to the directory of this README.
|
||||
```
|
||||
$ cd $DOCKER_HOME/Config/ReverseProxy
|
||||
@@ -10,6 +12,7 @@ How to first begin using this subproject.
|
||||
# ./create_placeholder_certs.sh
|
||||
```
|
||||
1. Make any personal changes to `./config/nginx.conf`.
|
||||
1. Copy the example files as `docker-compose.yml` and `.env`.
|
||||
1. Build the project.
|
||||
```
|
||||
# docker compose build
|
||||
@@ -20,8 +23,8 @@ How to first begin using this subproject.
|
||||
```
|
||||
1. Verify it started correctly, no configuration file errors.
|
||||
```
|
||||
# docker logs reverseproxy-app-1
|
||||
# docker logs reverseproxy-certbot-1
|
||||
# docker logs rp-app
|
||||
# docker logs rp-certbot
|
||||
```
|
||||
1. Create the real certificates.
|
||||
```
|
||||
@@ -34,6 +37,7 @@ How to first begin using this subproject.
|
||||
```
|
||||
|
||||
## DO NOT
|
||||
|
||||
* 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.
|
||||
* 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.
|
||||
|
||||
# Other Commands
|
||||
|
||||
Tasks which will also likely come up while using this subproject.
|
||||
|
||||
## Stop
|
||||
|
||||
If the proxy needs turned off either stop or down may be used.
|
||||
|
||||
```
|
||||
# docker compose stop
|
||||
# docker compose down
|
||||
```
|
||||
|
||||
## Upgrade
|
||||
|
||||
Upgrading the containers should be as easy as this:
|
||||
|
||||
```
|
||||
# docker compose down
|
||||
# docker compose pull
|
||||
@@ -60,15 +69,19 @@ Upgrading the containers should be as easy as this:
|
||||
```
|
||||
|
||||
## Update Config
|
||||
|
||||
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 is essentially an upgrade but there is no pull.
|
||||
|
||||
```
|
||||
# docker compose down
|
||||
# docker compose build
|
||||
# docker compose up -d
|
||||
```
|
||||
|
||||
If wanted as a one-line command:
|
||||
|
||||
```
|
||||
# docker compose down && docker compose build && docker compose up -d
|
||||
```
|
||||
|
||||
@@ -16,6 +16,9 @@ services:
|
||||
ports:
|
||||
- "80:80"
|
||||
- "443:443"
|
||||
environment:
|
||||
- CPU=$CPU
|
||||
- MEM=$MEM
|
||||
volumes:
|
||||
- ../../Volumes/ReverseProxy/letsencrypt:/etc/nginx/letsencrypt
|
||||
- ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/nginx/certs
|
||||
@@ -24,13 +27,16 @@ services:
|
||||
mode: global
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.20'
|
||||
memory: 64M
|
||||
cpus: $CPU
|
||||
memory: $MEM
|
||||
|
||||
certbot:
|
||||
container_name: rp-certbot
|
||||
image: certbot/certbot
|
||||
restart: always
|
||||
environment:
|
||||
- CPU_LE=$CPU_LE
|
||||
- MEM_LE=$MEM_LE
|
||||
volumes:
|
||||
- ../../Volumes/ReverseProxy/letsencrypt:/etc/letsencrypt
|
||||
- ../../Volumes/ReverseProxy/letsencrypt-certs:/etc/letsencrypt/nginx
|
||||
@@ -39,5 +45,5 @@ services:
|
||||
mode: global
|
||||
resources:
|
||||
limits:
|
||||
cpus: '0.10'
|
||||
memory: 32M
|
||||
cpus: $CPU_LE
|
||||
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