env-docker/Config/ReverseProxy/docker-compose.standard.yml
Chad fc7a5dc57d
Stabilize Hyperling.com (#21)
* Make the backup puller a full-fledged script after all.

* Finish the main portion.

* Remove version tag to avoid log errors on Docker 26.0, Compose 2.25.0.

* Try moving to a smaller, faster, more stable image.

* Move Nextcloud to the stable tag.

* Add shortcut aliases.

* Rename container website to www.

* Do not install the latest of the PHP or Node programs if a version already exists in the container.

* We need git!!

* Try only git and the PHP interpretor.

* Remove comments.

* Install express at the image layer, not during runtime.

* Let the app install express after all.

* Remove warning about apt CLI.

* Try to cache the express download/install.

* Fix caching of Node packages.
2024-04-03 20:21:38 -07:00

50 lines
1.5 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
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