env-docker/Config/ReverseProxy/docker-compose.micro.yml
Chad fa892cb3bd
Add Micro Configurations (#18)
* Begin changing files to recommendations rather than actual contents, that way multiple examples can be shown and when they are changed to be the real .yml they are not added to the project.

* Shrink the PHP limits more.

* Convert all configurations to be micro/standard.

* Double check the script supports IPv6. Shrink case statement.

* Fix uncommented nc-oo.

* Shrink NC further.

* Change name of env example.

* Change name of env example.

* Do not provide micro versions of DNS or PhotoPrism.

* Fix error in NC checks, wants at least 512M.

* Shrink more.

* Add a folder to keep static resources.

* Copy static resources into the container. This unfortunately doubles the size right now. Maybe do a volume in the future.

* Bring the description up to date.

* Make the description slightly more agnostic.

* Be more consistent about using variable.
2024-01-24 11:05:44 +00:00

44 lines
1.3 KiB
YAML

# 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
version: '3'
services:
app:
container_name: rp-app
build: ./
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: '0.20'
memory: 64M
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.10'
memory: 16M