diff --git a/compose.yml b/compose.yml index 66e7f9f..9f2db02 100644 --- a/compose.yml +++ b/compose.yml @@ -7,6 +7,9 @@ services: dockerfile: gemini.Dockerfile ports: - "${GEMINI_PORT}:1965" + volumes: + - ${GEMINI_CERTIFICATES_DIR}:/var/app/.certificates + - ${GEMINI_COMITIUM_DATA_DIR}:/var/app/comitium-data http: image: git.joeac.net/joeac/${IMAGE_PREFIX}joeac.net-http diff --git a/gemini.Dockerfile b/gemini.Dockerfile index 081e5ef..89ec0b8 100644 --- a/gemini.Dockerfile +++ b/gemini.Dockerfile @@ -7,7 +7,6 @@ COPY --from=comitium /usr/local/bin/comitium /usr/local/bin/comitium RUN mkdir -p /var/app/content WORKDIR /var/app -COPY gemini/.certificates .certificates RUN crontab -l > crontab.tmp \ && echo "0 */6 * * * /usr/local/bin/comitium refresh --data /var/app/comitium-data" >> crontab.tmp \ && crontab crontab.tmp \ @@ -15,7 +14,6 @@ RUN crontab -l > crontab.tmp \ COPY gemini/run.sh /var/app/ COPY gemini/content /var/app/content -COPY gemini/comitium-data /var/app/comitium-data COPY common /var/common CMD ./run.sh diff --git a/gemini/install.mk b/gemini/install.mk new file mode 100644 index 0000000..50c8828 --- /dev/null +++ b/gemini/install.mk @@ -0,0 +1,20 @@ +GEMINI_COMITIUM_DATA_FILES := $(addprefix $(GEMINI_COMITIUM_DATA_DIR)/,$(notdir $(wildcard comitium-data/*))) + +.PHONY: install +install: $(GEMINI_CERTIFICATES_DIR) $(GEMINI_COMITIUM_DATA_FILES) + +.PHONY: reinstall +reinstall: $(GEMINI_CERTIFICATES_DIR) $(GEMINI_COMITIUM_DATA_FILES) + +$(GEMINI_CERTIFICATES_DIR): + sudo mkdir -p $(GEMINI_CERTIFICATES_DIR) + +$(GEMINI_COMITIUM_DATA_DIR)/%: comitium-data/% $(GEMINI_COMITIUM_DATA_DIR) + sudo cp $< $@ + +$(GEMINI_COMITIUM_DATA_DIR): + sudo mkdir -p $(GEMINI_COMITIUM_DATA_DIR) + +.PHONY: uninstall +uninstall: + sudo rm -rf $(GEMINI_COMITIUM_DATA_DIR) diff --git a/make/container.mk b/make/container.mk index a09c9ae..46c9022 100644 --- a/make/container.mk +++ b/make/container.mk @@ -4,6 +4,8 @@ CPU_ARCH := $(if $(shell which arch 2>/dev/null),\ IMAGE_PREFIX := $(if $(filter armv7%,$(CPU_ARCH)),armv7/) COMPOSE_CMD := \ IMAGE_PREFIX="$(IMAGE_PREFIX)" \ + GEMINI_CERTIFICATES_DIR="$(GEMINI_CERTIFICATES_DIR)" \ + GEMINI_COMITIUM_DATA_DIR="$(GEMINI_COMITIUM_DATA_DIR)" \ ETHERPAD_DATA_DIR="$(ETHERPAD_DATA_DIR)" \ VAULTWARDEN_DATA_DIR="$(VAULTWARDEN_DATA_DIR)" \ LOCAL_SMTP_PORT=$(PORT_smtp) \ diff --git a/make/vars.mk b/make/vars.mk index 0d9b82a..e9f1ec4 100644 --- a/make/vars.mk +++ b/make/vars.mk @@ -30,6 +30,8 @@ PORT_vaultwarden := 9000 PUBLIC_ROOT_DIR_ln := /var/ln.joeac.net/public export ETHERPAD_DATA_DIR := /var/etherpad/var +export GEMINI_CERTIFICATES_DIR := /var/joeac.net-gemini/certificates +export GEMINI_COMITIUM_DATA_DIR := /var/joeac.net-gemini/comitium-data export VAULTWARDEN_DATA_DIR := /var/vaultwarden/data $(foreach module,$(ALL_MODULES),$(if $(PORT_$(module)),$(eval \