From 88f27bfeb86f854b66ceb056d1cc0fb52688729d Mon Sep 17 00:00:00 2001 From: bunkerity Date: Fri, 4 Dec 2020 22:06:15 +0100 Subject: [PATCH] autoconf - reverse proxy example and pass default vars --- autoconf/autoconf.py | 7 +- .../autoconf-reverse-proxy/docker-compose.yml | 65 +++++++++++++++++++ 2 files changed, 70 insertions(+), 2 deletions(-) create mode 100644 examples/autoconf-reverse-proxy/docker-compose.yml diff --git a/autoconf/autoconf.py b/autoconf/autoconf.py index b49286d..bdd53bf 100644 --- a/autoconf/autoconf.py +++ b/autoconf/autoconf.py @@ -1,6 +1,6 @@ #!/usr/bin/python3 -import docker, datetime, subprocess, shutil +import docker, datetime, subprocess, shutil, os def log(event) : print("[" + datetime.datetime.now().replace(microsecond=0) + "] AUTOCONF - " + event) @@ -13,7 +13,10 @@ def replace_in_file(file, old_str, new_str) : f.write(data) def generate(vars) : - subprocess.run(["/opt/entrypoint/site-config.sh", vars["SERVER_NAME"]], env=vars) + vars_defaults = vars.copy() + vars_defaults.update(os.environ) + vars_defaults.update(vars) + subprocess.run(["/opt/entrypoint/site-config.sh", vars["SERVER_NAME"]], env=vars_defaults) log("Generated config for " + vars["SERVER_NAME"]) def activate(vars) : diff --git a/examples/autoconf-reverse-proxy/docker-compose.yml b/examples/autoconf-reverse-proxy/docker-compose.yml new file mode 100644 index 0000000..4fba809 --- /dev/null +++ b/examples/autoconf-reverse-proxy/docker-compose.yml @@ -0,0 +1,65 @@ +version: '3' + +services: + + mywww: + image: bunkerity/bunkerized-nginx + restart: always + ports: + - 80:8080 + - 443:8443 + volumes: + - /var/run/docker.sock:/var/run/docker.sock + - ./letsencrypt:/etc/letsencrypt + environment: + - SERVER_NAME= + - MULTISITE=yes + - AUTO_LETS_ENCRYPT=yes + - REDIRECT_HTTP_TO_HTTPS=yes + - DISABLE_DEFAULT_SERVER=yes + - USE_CLIENT_CACHE=yes + - USE_GZIP=yes + - USE_BROTLI=yes + - USE_REVERSE_PROXY=yes + + myapp1: + image: node + restart: always + working_dir: /home/node/app + volumes: + - ./js-app:/home/node/app + environment: + - NODE_ENV=production + command: bash -c "npm install express && node index.js" + labels: + - "bunkerized-nginx.SERVER_NAME=app1.domain.com" + - "bunkerized-nginx.REVERSE_PROXY_URL=/" + - "bunkerized-nginx.REVERSE_PROXY_HOST=http://myapp1:3000" + + myapp2: + image: node + restart: always + working_dir: /home/node/app + volumes: + - ./js-app:/home/node/app + environment: + - NODE_ENV=production + command: bash -c "npm install express && node index.js" + labels: + - "bunkerized-nginx.SERVER_NAME=app2.domain.com" + - "bunkerized-nginx.REVERSE_PROXY_URL=/" + - "bunkerized-nginx.REVERSE_PROXY_HOST=http://myapp2:3000" + + myapp3: + image: node + restart: always + working_dir: /home/node/app + volumes: + - ./js-app:/home/node/app + environment: + - NODE_ENV=production + command: bash -c "npm install express && node index.js" + labels: + - "bunkerized-nginx.SERVER_NAME=app3.domain.com" + - "bunkerized-nginx.REVERSE_PROXY_URL=/" + - "bunkerized-nginx.REVERSE_PROXY_HOST=http://myapp3:3000"