From 422d2a38d2707bdcd224f106fa819669909196d7 Mon Sep 17 00:00:00 2001 From: Thomas Hintz Date: Fri, 3 Jul 2026 10:14:03 -0700 Subject: [PATCH] Finishing make app refactor. --- Makefile | 115 ++++++------------ all-apps/docker-compose.yaml | 2 + all-apps/dozzle/20/Makefile | 5 + all-apps/dozzle/20/make-caddyfile.sh | 15 +++ all-apps/ghost/6/Caddyfile | 4 + all-apps/ghost/6/Makefile | 5 + .../ghost/6/make-ghost-env.sh | 0 all-apps/instance-control/b0.0.1/Caddyfile | 3 + all-apps/instance-control/b0.0.1/Makefile | 8 ++ .../b0.0.1/make-instance-control-config.sh | 0 all-apps/nassella/b0.0.1/Caddyfile | 26 ++++ all-apps/nassella/b0.0.1/Makefile | 42 +++++++ .../b0.0.1/make-nassella-authelia-config.sh | 0 .../b0.0.1/make-nassella-lldap-config.sh | 0 all-apps/nextcloud/34/Caddyfile | 4 + all-apps/nextcloud/34/Makefile | 23 ++++ .../nextcloud/34/make-nextcloud-env.sh | 0 all-apps/wg-easy/15/Caddyfile | 3 + copy-apps.sh | 4 - make-caddyfile.sh | 70 +---------- src/db-init.sql | 2 + src/nassella.scm | 16 +-- 22 files changed, 187 insertions(+), 160 deletions(-) create mode 100644 all-apps/dozzle/20/Makefile create mode 100755 all-apps/dozzle/20/make-caddyfile.sh create mode 100644 all-apps/ghost/6/Caddyfile create mode 100644 all-apps/ghost/6/Makefile rename make-ghost-env.sh => all-apps/ghost/6/make-ghost-env.sh (100%) create mode 100644 all-apps/instance-control/b0.0.1/Caddyfile create mode 100644 all-apps/instance-control/b0.0.1/Makefile rename make-instance-control-config.sh => all-apps/instance-control/b0.0.1/make-instance-control-config.sh (100%) create mode 100644 all-apps/nassella/b0.0.1/Caddyfile create mode 100644 all-apps/nassella/b0.0.1/Makefile rename make-nassella-authelia-config.sh => all-apps/nassella/b0.0.1/make-nassella-authelia-config.sh (100%) rename make-nassella-lldap-config.sh => all-apps/nassella/b0.0.1/make-nassella-lldap-config.sh (100%) create mode 100644 all-apps/nextcloud/34/Caddyfile create mode 100644 all-apps/nextcloud/34/Makefile rename make-nextcloud-env.sh => all-apps/nextcloud/34/make-nextcloud-env.sh (100%) create mode 100644 all-apps/wg-easy/15/Caddyfile diff --git a/Makefile b/Makefile index 33b42d2..aea28ce 100644 --- a/Makefile +++ b/Makefile @@ -3,8 +3,15 @@ TERRAFORM_ENV := production config_dir := ./config/ apps_config := $(config_dir)apps.config +IMAGE_DEPS := + +COMPOSE_ENVS := $(shell if [ -d app/ ]; then find app/ -type f -name '.compose-env'; fi) + ALL_APPS_FILES = $(shell find all-apps/ -type f -name '*') +APP_MAKEFILES := $(shell if [ -d app/ ]; then find app/ -type f -name 'Makefile'; fi) +-include $(APP_MAKEFILES) + # .dirstamp plus && $@ is like make magic to get this rule # to only run if the contents of all-apps changes app/.dirstamp: copy-apps.sh $(apps_config) $(ALL_APPS_FILES) @@ -18,67 +25,25 @@ app/.dirstamp: copy-apps.sh $(apps_config) $(ALL_APPS_FILES) # # compose .env files # # (compose only supports one .env file at the root by default) -app/.env: app/ghost/.compose-env +app/.env: $(apps_config) $(COMPOSE_ENVS) find app/ -name ".compose-env" -exec cat > app/.env {} + # Caddy / lb -app/lb/Caddyfile: $(apps_config) make-caddyfile.sh +app/lb/lb.env: $(apps_config) app/.dirstamp make-caddyfile.sh mkdir -p app/lb - ./make-caddyfile.sh $(apps_config) > app/lb/Caddyfile + ./make-caddyfile.sh $(apps_config) > $@ -# Instance Control -app/instance-control/webhook_secret: $(apps_config) - bash -c 'source $(apps_config); printf "%s\n" "$$INSTANCE_CONTROL_WEBHOOKS_SECRET" > $@' -app/instance-control/hooks/hooks.json: $(apps_config) make-instance-control-config.sh - ./make-instance-control-config.sh $(apps_config) - -# Nextcloud -app/nextcloud/nextcloud_admin_user: $(apps_config) - bash -c 'source $(apps_config); printf "%s\n" "$$NEXTCLOUD_ADMIN_USER" > $@' -app/nextcloud/nextcloud_admin_password: $(apps_config) - bash -c 'source $(apps_config); printf "%s\n" "$$NEXTCLOUD_ADMIN_PASSWORD" > $@' -app/nextcloud/postgres_db: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NEXTCLOUD_POSTGRES_DB" > $@' -app/nextcloud/postgres_user: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NEXTCLOUD_POSTGRES_USER" > $@' -app/nextcloud/postgres_password: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NEXTCLOUD_POSTGRES_PASSWORD" > $@' -app/nextcloud/redis_password: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NEXTCLOUD_REDIS_PASSWORD" > $@' -app/nextcloud/nextcloud.env: $(apps_config) app/nextcloud/nextcloud.env.tmpl make-nextcloud-env.sh - ./make-nextcloud-env.sh $(apps_config) - -# Nassella -app/nassella/postgres_db: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_POSTGRES_DB" > $@' -app/nassella/postgres_user: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_POSTGRES_USER" > $@' -app/nassella/postgres_password: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_POSTGRES_PASSWORD" > $@' -app/nassella/authelia_postgres_db: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_AUTHELIA_POSTGRES_DB" > $@' -app/nassella/authelia_postgres_user: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_AUTHELIA_POSTGRES_USER" > $@' -app/nassella/authelia_postgres_password: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_AUTHELIA_POSTGRES_PASSWORD" > $@' -app/nassella/lldap_postgres_db: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_LLDAP_POSTGRES_DB" > $@' -app/nassella/lldap_postgres_user: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_LLDAP_POSTGRES_USER" > $@' -app/nassella/lldap_postgres_password: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_LLDAP_POSTGRES_PASSWORD" > $@' -app/nassella/lldap_admin_password: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_LLDAP_ADMIN_PASSWORD" > $@' -app/nassella/stripe_api_key: $(apps_config) - bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_STRIPE_API_KEY" > $@' -app/nassella/authelia-config/configuration.yml: $(apps_config) app/nassella/authelia-config/configuration.yml.tmpl make-nassella-authelia-config.sh - ./make-nassella-authelia-config.sh $(apps_config) -app/nassella/lldap-config/lldap_config.toml: $(apps_config) app/nassella/lldap-config/lldap_config.toml.tmpl make-nassella-lldap-config.sh - ./make-nassella-lldap-config.sh $(apps_config) - -# Ghost -app/ghost/.compose-env: $(apps_config) app/ghost/.compose.env.tmpl make-ghost-env.sh - ./make-ghost-env.sh $(apps_config) +app/lb/Caddyfile: $(apps_config) app/.dirstamp + echo "(maintenance_intercept) {" > app/lb/Caddyfile-tmp + echo "@maintenanceModeActive file /maintenance/maintenance.on {" >> app/lb/Caddyfile-tmp + echo " root /" >> app/lb/Caddyfile-tmp + echo "}" >> app/lb/Caddyfile-tmp + echo "handle @maintenanceModeActive {" >> app/lb/Caddyfile-tmp + echo " respond \"We are performing a maintenance, come back later\" 503" >> app/lb/Caddyfile-tmp + echo "}" >> app/lb/Caddyfile-tmp + echo "}" >> app/lb/Caddyfile-tmp + find app/ -name "Caddyfile" -exec cat >> app/lb/Caddyfile-tmp {} + + mv app/lb/Caddyfile-tmp $@ # Backups / Restic / Backblaze restic-env: $(apps_config) make-restic-generated.sh @@ -87,29 +52,9 @@ restic-password: $(apps_config) make-restic-password.sh ./make-restic-password.sh $(apps_config) > restic-password ignition.json: cl.yaml app/.dirstamp \ +$(IMAGE_DEPS) \ +app/lb/lb.env \ app/lb/Caddyfile \ -app/instance-control/webhook_secret \ -app/instance-control/hooks/hooks.json \ -app/nextcloud/nextcloud_admin_user \ -app/nextcloud/nextcloud_admin_password \ -app/nextcloud/postgres_db \ -app/nextcloud/postgres_user \ -app/nextcloud/postgres_password \ -app/nextcloud/redis_password \ -app/nextcloud/nextcloud.env \ -app/nassella/postgres_db \ -app/nassella/postgres_user \ -app/nassella/postgres_password \ -app/nassella/lldap_postgres_db \ -app/nassella/lldap_postgres_user \ -app/nassella/lldap_postgres_password \ -app/nassella/authelia_postgres_db \ -app/nassella/authelia_postgres_user \ -app/nassella/authelia_postgres_password \ -app/nassella/nassella.env \ -app/nassella/authelia-config/configuration.yml \ -app/nassella/lldap-config/lldap_config.toml \ -app/ghost/.compose-env \ restic-env \ restic-password \ restic-restore.sh \ @@ -129,6 +74,12 @@ plan: ignition.json $(config_dir)$(TERRAFORM_ENV).tfvars generated.tfvars announce-start: echo "NASSELLA_CONFIG: start" +# run this first to generate the all/ dir +# then we can 'include' all the Makefiles in all/ +.PHONY: preapply +preapply: app/.dirstamp + echo "app generated" + apply: announce-start restic-init ignition.json $(config_dir)$(TERRAFORM_ENV).tfvars generated.tfvars echo "NASSELLA_CONFIG: end" terraform init @@ -149,10 +100,12 @@ restic-snapshots: $(apps_config) restic-password .PHONY: archive archive: + echo "(" > all-apps/root-napp.scm + find all-apps/ -name "napp.scm" -exec cat >> all-apps/root-napp.scm {} + + echo ")" >> all-apps/root-napp.scm tar -cf nassella-latest.tar all-apps cl.yaml init-restic.sh main.tf make-caddyfile.sh Makefile \ - make-generated.sh make-nextcloud-env.sh make-ghost-env.sh make-restic-generated.sh make-restic-password.sh restic-snapshots.sh copy-apps.sh restic-restore.sh restic-snapshot.sh \ - make-nassella-authelia-config.sh make-nassella-lldap-config.sh .terraform.lock.hcl \ - make-instance-control-config.sh + make-generated.sh make-restic-generated.sh make-restic-password.sh restic-snapshots.sh copy-apps.sh restic-restore.sh restic-snapshot.sh \ + .terraform.lock.hcl cp nassella-latest.tar src/ ## to help me remember the command to run to test the config locally diff --git a/all-apps/docker-compose.yaml b/all-apps/docker-compose.yaml index b122e0c..30b6982 100644 --- a/all-apps/docker-compose.yaml +++ b/all-apps/docker-compose.yaml @@ -2,6 +2,8 @@ version: '3' services: lb: image: docker.io/caddy:2.11.4-alpine + env_file: + - ./lb/lb.env volumes: # - /app/lb:/etc/caddy - ./lb/:/etc/caddy diff --git a/all-apps/dozzle/20/Makefile b/all-apps/dozzle/20/Makefile new file mode 100644 index 0000000..671ca83 --- /dev/null +++ b/all-apps/dozzle/20/Makefile @@ -0,0 +1,5 @@ +IMAGE_DEPS := $(IMAGE_DEPS) \ +app/dozzle/Caddyfile + +app/dozzle/Caddyfile: $(apps_config) app/dozzle/make-caddyfile.sh + ./app/dozzle/make-caddyfile.sh $(apps_config) > $@ diff --git a/all-apps/dozzle/20/make-caddyfile.sh b/all-apps/dozzle/20/make-caddyfile.sh new file mode 100755 index 0000000..7d92c29 --- /dev/null +++ b/all-apps/dozzle/20/make-caddyfile.sh @@ -0,0 +1,15 @@ +#/bin/bash + +set -e + +. $1 # source the apps.config file with then env vars + +host_admin_password_encoded=`echo "$HOST_ADMIN_PASSWORD" | docker run --rm -i caddy:2 caddy hash-password` + +echo '{$dozzle_SUBDOMAIN}.{$ROOT_DOMAIN} {' +echo " basic_auth {" +echo " $HOST_ADMIN_USER $host_admin_password_encoded" +echo " }" +echo " reverse_proxy http://dozzle:8080" +echo "}" +echo "" diff --git a/all-apps/ghost/6/Caddyfile b/all-apps/ghost/6/Caddyfile new file mode 100644 index 0000000..efc6f43 --- /dev/null +++ b/all-apps/ghost/6/Caddyfile @@ -0,0 +1,4 @@ +{$ghost_SUBDOMAIN}.{$ROOT_DOMAIN} { + import maintenance_intercept + reverse_proxy http://ghost:2368 +} diff --git a/all-apps/ghost/6/Makefile b/all-apps/ghost/6/Makefile new file mode 100644 index 0000000..96e20b6 --- /dev/null +++ b/all-apps/ghost/6/Makefile @@ -0,0 +1,5 @@ +IMAGE_DEPS := $(IMAGE_DEPS) \ +app/ghost/.compose-env + +app/ghost/.compose-env: $(apps_config) app/ghost/.compose.env.tmpl app/ghost/make-ghost-env.sh + ./app/ghost/make-ghost-env.sh $(apps_config) diff --git a/make-ghost-env.sh b/all-apps/ghost/6/make-ghost-env.sh similarity index 100% rename from make-ghost-env.sh rename to all-apps/ghost/6/make-ghost-env.sh diff --git a/all-apps/instance-control/b0.0.1/Caddyfile b/all-apps/instance-control/b0.0.1/Caddyfile new file mode 100644 index 0000000..e3c3369 --- /dev/null +++ b/all-apps/instance-control/b0.0.1/Caddyfile @@ -0,0 +1,3 @@ +{$instance_control_SUBDOMAIN}.{$ROOT_DOMAIN} { + reverse_proxy http://instance_control:9000 +} diff --git a/all-apps/instance-control/b0.0.1/Makefile b/all-apps/instance-control/b0.0.1/Makefile new file mode 100644 index 0000000..7698e30 --- /dev/null +++ b/all-apps/instance-control/b0.0.1/Makefile @@ -0,0 +1,8 @@ +IMAGE_DEPS := $(IMAGE_DEPS) \ +app/instance-control/webhook_secret \ +app/instance-control/hooks/hooks.json + +app/instance-control/webhook_secret: $(apps_config) + bash -c 'source $(apps_config); printf "%s\n" "$$INSTANCE_CONTROL_WEBHOOKS_SECRET" > $@' +app/instance-control/hooks/hooks.json: $(apps_config) app/instance-control/make-instance-control-config.sh + ./app/instance-control/make-instance-control-config.sh $(apps_config) diff --git a/make-instance-control-config.sh b/all-apps/instance-control/b0.0.1/make-instance-control-config.sh similarity index 100% rename from make-instance-control-config.sh rename to all-apps/instance-control/b0.0.1/make-instance-control-config.sh diff --git a/all-apps/nassella/b0.0.1/Caddyfile b/all-apps/nassella/b0.0.1/Caddyfile new file mode 100644 index 0000000..55d5732 --- /dev/null +++ b/all-apps/nassella/b0.0.1/Caddyfile @@ -0,0 +1,26 @@ +{$nassella_SUBDOMAIN}.{$ROOT_DOMAIN} { + import maintenance_intercept + + route { + @authelia path /authelia /authelia/* + handle @authelia { + reverse_proxy nassella_authelia:9091 + } + + handle /unsecured/* { + reverse_proxy http://nassella:8080 + } + + forward_auth nassella_authelia:9091 { + uri /api/authz/forward-auth + copy_headers Remote-User Remote-Groups Remote-Email Remote-Name + } + + reverse_proxy http://nassella:8080 + } +} + +lldap.{$nassella_SUBDOMAIN}.{$ROOT_DOMAIN} { + import maintenance_intercept + reverse_proxy nassella_lldap:17170 +} diff --git a/all-apps/nassella/b0.0.1/Makefile b/all-apps/nassella/b0.0.1/Makefile new file mode 100644 index 0000000..3108f04 --- /dev/null +++ b/all-apps/nassella/b0.0.1/Makefile @@ -0,0 +1,42 @@ +IMAGE_DEPS := $(IMAGE_DEPS) \ +app/nassella/postgres_db \ +app/nassella/postgres_user \ +app/nassella/postgres_password \ +app/nassella/lldap_postgres_db \ +app/nassella/lldap_postgres_user \ +app/nassella/lldap_postgres_password \ +app/nassella/authelia_postgres_db \ +app/nassella/authelia_postgres_user \ +app/nassella/authelia_postgres_password \ +app/nassella/nassella.env \ +app/nassella/authelia-config/configuration.yml \ +app/nassella/lldap-config/lldap_config.toml + +app/nassella/postgres_db: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_POSTGRES_DB" > $@' +app/nassella/postgres_user: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_POSTGRES_USER" > $@' +app/nassella/postgres_password: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_POSTGRES_PASSWORD" > $@' +app/nassella/authelia_postgres_db: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_AUTHELIA_POSTGRES_DB" > $@' +app/nassella/authelia_postgres_user: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_AUTHELIA_POSTGRES_USER" > $@' +app/nassella/authelia_postgres_password: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_AUTHELIA_POSTGRES_PASSWORD" > $@' +app/nassella/lldap_postgres_db: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_LLDAP_POSTGRES_DB" > $@' +app/nassella/lldap_postgres_user: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_LLDAP_POSTGRES_USER" > $@' +app/nassella/lldap_postgres_password: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_LLDAP_POSTGRES_PASSWORD" > $@' +app/nassella/lldap_admin_password: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_LLDAP_ADMIN_PASSWORD" > $@' +app/nassella/stripe_api_key: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NASSELLA_STRIPE_API_KEY" > $@' +app/nassella/authelia-config/configuration.yml: $(apps_config) app/nassella/authelia-config/configuration.yml.tmpl \ +app/nassella/make-nassella-authelia-config.sh + ./app/nassella/make-nassella-authelia-config.sh $(apps_config) +app/nassella/lldap-config/lldap_config.toml: $(apps_config) app/nassella/lldap-config/lldap_config.toml.tmpl \ +app/nassella/make-nassella-lldap-config.sh + ./app/nassella/make-nassella-lldap-config.sh $(apps_config) diff --git a/make-nassella-authelia-config.sh b/all-apps/nassella/b0.0.1/make-nassella-authelia-config.sh similarity index 100% rename from make-nassella-authelia-config.sh rename to all-apps/nassella/b0.0.1/make-nassella-authelia-config.sh diff --git a/make-nassella-lldap-config.sh b/all-apps/nassella/b0.0.1/make-nassella-lldap-config.sh similarity index 100% rename from make-nassella-lldap-config.sh rename to all-apps/nassella/b0.0.1/make-nassella-lldap-config.sh diff --git a/all-apps/nextcloud/34/Caddyfile b/all-apps/nextcloud/34/Caddyfile new file mode 100644 index 0000000..88039f6 --- /dev/null +++ b/all-apps/nextcloud/34/Caddyfile @@ -0,0 +1,4 @@ +{$nextcloud_SUBDOMAIN}.{$ROOT_DOMAIN} { + import maintenance_intercept + reverse_proxy http://nextcloud:80 +} diff --git a/all-apps/nextcloud/34/Makefile b/all-apps/nextcloud/34/Makefile new file mode 100644 index 0000000..4891056 --- /dev/null +++ b/all-apps/nextcloud/34/Makefile @@ -0,0 +1,23 @@ +IMAGE_DEPS := $(IMAGE_DEPS) \ +app/nextcloud/nextcloud_admin_user \ +app/nextcloud/nextcloud_admin_password \ +app/nextcloud/postgres_db \ +app/nextcloud/postgres_user \ +app/nextcloud/postgres_password \ +app/nextcloud/redis_password \ +app/nextcloud/nextcloud.env + +app/nextcloud/nextcloud_admin_user: $(apps_config) + bash -c 'source $(apps_config); printf "%s\n" "$$NEXTCLOUD_ADMIN_USER" > $@' +app/nextcloud/nextcloud_admin_password: $(apps_config) + bash -c 'source $(apps_config); printf "%s\n" "$$NEXTCLOUD_ADMIN_PASSWORD" > $@' +app/nextcloud/postgres_db: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NEXTCLOUD_POSTGRES_DB" > $@' +app/nextcloud/postgres_user: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NEXTCLOUD_POSTGRES_USER" > $@' +app/nextcloud/postgres_password: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NEXTCLOUD_POSTGRES_PASSWORD" > $@' +app/nextcloud/redis_password: $(apps_config) + bash -c 'source ./$(apps_config); printf "%s\n" "$$NEXTCLOUD_REDIS_PASSWORD" > $@' +app/nextcloud/nextcloud.env: $(apps_config) app/nextcloud/nextcloud.env.tmpl app/nextcloud/make-nextcloud-env.sh + ./app/nextcloud/make-nextcloud-env.sh $(apps_config) diff --git a/make-nextcloud-env.sh b/all-apps/nextcloud/34/make-nextcloud-env.sh similarity index 100% rename from make-nextcloud-env.sh rename to all-apps/nextcloud/34/make-nextcloud-env.sh diff --git a/all-apps/wg-easy/15/Caddyfile b/all-apps/wg-easy/15/Caddyfile new file mode 100644 index 0000000..71f87ee --- /dev/null +++ b/all-apps/wg-easy/15/Caddyfile @@ -0,0 +1,3 @@ +{$wg_easy_SUBDOMAIN}.{$ROOT_DOMAIN} { + reverse_proxy http://wg-easy:80 +} diff --git a/copy-apps.sh b/copy-apps.sh index fab4f34..34db34a 100755 --- a/copy-apps.sh +++ b/copy-apps.sh @@ -27,7 +27,3 @@ for config_string in ${APP_CONFIGS[@]}; do version=${config[2]} cp -a all-apps/$app/$version app/$app done - -# compose .env files -# (compose only supports one .env file at the root by default) -find app/ -name ".compose-env" -exec cat > app/.env {} + diff --git a/make-caddyfile.sh b/make-caddyfile.sh index 398de17..1c34864 100755 --- a/make-caddyfile.sh +++ b/make-caddyfile.sh @@ -21,40 +21,7 @@ host_admin_password_encoded=`echo "$HOST_ADMIN_PASSWORD" | docker run --rm -i ca read -r -a APP_CONFIGS <<< "$APP_CONFIGS" APP_CONFIGS+=('lb,root') - -declare -A bodys -bodys["nextcloud"]=" reverse_proxy http://nextcloud:80" -bodys["wg-easy"]=" reverse_proxy http://wg-easy:80" -bodys["ghost"]=" reverse_proxy http://ghost:2368" -bodys["nassella"]=$(cat < make-out 2>&1"))) + (let ((pid (process-run "make preapply && make apply > make-out 2>&1"))) (with-db/transaction (lambda (db) (update-deployment-in-progress db deployment-id pid))) (change-directory "../") (let loop ()