Compare commits

..

5 Commits

Author SHA1 Message Date
joeac 6bc1f2d05f prunes nginx sites on reinstall 2026-07-02 08:53:24 +01:00
joeac c736041f3c adds uninstall_nginx_module rule content 2026-07-02 08:29:49 +01:00
joeac 8a5ad04776 adds reinstall rule 2026-07-02 08:10:25 +01:00
joeac 6a726a331d simplifies uninstall rule with var 2026-07-02 08:10:13 +01:00
joeac b0fe5b4a44 uses vars to simplify install rule 2026-07-02 08:05:51 +01:00
3 changed files with 21 additions and 3 deletions
+5 -2
View File
@@ -50,10 +50,13 @@ $(foreach module,$(MAKE_MODULES),$(eval $(call make_module_rule)))
$(foreach module,$(MODULES),$(eval $(call module_env_rule))) $(foreach module,$(MODULES),$(eval $(call module_env_rule)))
.PHONY: install .PHONY: install
install: install_nginx $(foreach module,$(MODULES),$(module)/.env install_$(module)) install_crontab install: install_nginx $(ENV_RULES) $(INSTALL_RULES) install_crontab
.PHONY: reinstall
reinstall: reinstall_nginx $(ENV_RULES) $(REINSTALL_RULES) reinstall_crontab
.PHONY: uninstall .PHONY: uninstall
uninstall: uninstall_nginx uninstall_dyndns uninstall_joeac.net_service $(foreach module,$(MODULES),uninstall_$(module)) uninstall_crontab uninstall: uninstall_nginx uninstall_dyndns uninstall_joeac.net_service $(UNINSTALL_RULES) uninstall_crontab
$(foreach module,$(MODULES),$(eval $(install_module_rule))) $(foreach module,$(MODULES),$(eval $(install_module_rule)))
$(foreach module,$(MODULES),$(eval $(reinstall_module_rule))) $(foreach module,$(MODULES),$(eval $(reinstall_module_rule)))
+13 -1
View File
@@ -1,3 +1,8 @@
installed_nginx_sites = $(wildcard /etc/nginx/http.d/*.joeac.net.conf)
installed_nginx_subdomains = $(installed_nginx_sites:/etc/nginx/http.d/%.joeac.net.conf=%)
nginx_subdomains_to_remove = $(filter-out $(SUBDOMAINS),$(installed_nginx_subdomains))
nginx_sites_to_remove = $(nginx_subdomains_to_remove:%=/etc/nginx/http.d/%.joeac.net.conf)
define install_nginx_module_rule = define install_nginx_module_rule =
.PHONY: install_nginx_$(module) .PHONY: install_nginx_$(module)
install_nginx_$(module): $(if $(SUBDOMAIN_$(module)),/etc/nginx/http.d/$(SUBDOMAIN_$(module)).joeac.net.conf) install_nginx_$(module): $(if $(SUBDOMAIN_$(module)),/etc/nginx/http.d/$(SUBDOMAIN_$(module)).joeac.net.conf)
@@ -11,11 +16,18 @@ endef
define uninstall_nginx_module_rule = define uninstall_nginx_module_rule =
.PHONY: uninstall_nginx_$(module) .PHONY: uninstall_nginx_$(module)
uninstall_nginx_$(module): uninstall_nginx_$(module):
(if $(SUBDOMAIN_$(module)),rm -f /etc/nginx/http.d/$(SUBDOMAIN_$(module)).joeac.net.conf)
endef
define remove_nginx_site_rule =
remove_$(site):
rm -f $(site)
endef endef
$(foreach module,$(MODULES),$(eval $(install_nginx_module_rule))) $(foreach module,$(MODULES),$(eval $(install_nginx_module_rule)))
$(foreach module,$(MODULES),$(eval $(reinstall_nginx_module_rule))) $(foreach module,$(MODULES),$(eval $(reinstall_nginx_module_rule)))
$(foreach module,$(MODULES),$(eval $(uninstall_nginx_module_rule))) $(foreach module,$(MODULES),$(eval $(uninstall_nginx_module_rule)))
$(foreach site,$(nginx_sites_to_remove),$(eval $(remove_nginx_site_rule)))
/etc/nginx/http.d/%.joeac.net.conf: nginx/http.d/%.joeac.net.conf /etc/nginx/http.d /etc/nginx/nginx.conf /etc/nginx/http.d/%.joeac.net.conf: nginx/http.d/%.joeac.net.conf /etc/nginx/http.d /etc/nginx/nginx.conf
sudo cp $< $@ sudo cp $< $@
@@ -28,7 +40,7 @@ $(foreach module,$(MODULES),$(eval $(uninstall_nginx_module_rule)))
install_nginx: /etc/nginx/nginx.conf $(add_prefix install_nginx_,$(NGINX_MODULES)) install_nginx: /etc/nginx/nginx.conf $(add_prefix install_nginx_,$(NGINX_MODULES))
.PHONY: reinstall_nginx .PHONY: reinstall_nginx
reinstall_nginx: /etc/nginx/nginx.conf $(add_prefix reinstall_nginx_,$(NGINX_MODULES)) reinstall_nginx: /etc/nginx/nginx.conf $(add_prefix reinstall_nginx_,$(NGINX_MODULES)) $(addprefix remove_,$(nginx_sites_to_remove))
.PHONY: uninstall_nginx .PHONY: uninstall_nginx
uninstall_nginx: $(foreach module,$(NGINX_MODULES),uninstall_nginx_$(module)) uninstall_nginx: $(foreach module,$(NGINX_MODULES),uninstall_nginx_$(module))
+3
View File
@@ -16,6 +16,9 @@ ENV_RULES := $(foreach module,$(MODULES),$(module)/.env)
MAKE_RULES := $(foreach module,$(MAKE_MODULES),make_$(module)) MAKE_RULES := $(foreach module,$(MAKE_MODULES),make_$(module))
BUILD_RULES := $(foreach module,$(filter $(COMPOSE_SERVICES),$(MODULES)),build_$(module)) BUILD_RULES := $(foreach module,$(filter $(COMPOSE_SERVICES),$(MODULES)),build_$(module))
PUSH_RULES := $(foreach module,$(filter $(COMPOSE_SERVICES),$(MODULES)),push_$(module)) PUSH_RULES := $(foreach module,$(filter $(COMPOSE_SERVICES),$(MODULES)),push_$(module))
INSTALL_RULES := $(foreach module,$(MODULES),install_$(module))
REINSTALL_RULES := $(foreach module,$(MODULES),reinstall_$(module))
UNINSTALL_RULES := $(foreach module,$(MODULES),uninstall_$(module))
SUBDOMAIN_http := @ SUBDOMAIN_http := @
SUBDOMAIN_vaultwarden := pwd SUBDOMAIN_vaultwarden := pwd
SUBDOMAIN_etherpad := docs SUBDOMAIN_etherpad := docs