From d33a792045d04a1dcb6e773f1b9a9f104d3b67cf Mon Sep 17 00:00:00 2001 From: Sarah Vaupel Date: Mon, 17 Mar 2025 10:15:16 +0100 Subject: [PATCH] build(Makefile): remove SET_IMAGE in favour of LOCAL_CONTAINERFILE; use non-local postgres with launch args --- Makefile | 33 +++++++++++++++++++++------------ docker/postgres/Dockerfile | 9 --------- 2 files changed, 21 insertions(+), 21 deletions(-) delete mode 100644 docker/postgres/Dockerfile diff --git a/Makefile b/Makefile index efce641e0..ba298ca21 100644 --- a/Makefile +++ b/Makefile @@ -15,6 +15,8 @@ export IMAGE_REGISTRY = docker.io export MEMCACHED_IMAGE = $(IMAGE_REGISTRY)/memcached:latest export MINIO_IMAGE = $(IMAGE_REGISTRY)/minio/minio:latest export MAILDEV_IMAGE = $(IMAGE_REGISTRY)/maildev/maildev:latest # TODO: needs different port than 1025 to avoid conflicts +export POSTGRES_IMAGE = $(IMAGE_REGISTRY)/library/postgres:12 +export LOCAL_CONTAINERFILE export IN_CONTAINER ?= false export IN_CI ?= false @@ -31,7 +33,7 @@ export SERVICE export SERVICE_VARIANT ?= $(SERVICE) export JOB export IMAGE -export SET_IMAGE +export MAKECALL export ENTRYPOINT export EXEC_OPTS @@ -113,6 +115,7 @@ start: .PHONY: %-backend %-backend: SERVICE=backend %-backend: SERVICE_VARIANT=backend +%-backend: LOCAL_CONTAINERFILE=true %-backend: IMAGE=localhost/fradrive/backend %-backend: BASE_PORTS = "DEV_PORT_HTTP=3000" "DEV_PORT_HTTPS=3443" @@ -120,17 +123,20 @@ start: %-uniworxdb: SERVICE=backend %-uniworxdb: SERVICE_VARIANT=uniworxdb %-uniworxdb: IMAGE=localhost/fradrive/backend +%-uniworxdb: LOCAL_CONTAINERFILE=true .PHONY: %-ghci %-ghci: SERVICE=backend %-ghci: SERVICE_VARIANT=ghci %-ghci: IMAGE=localhost/fradrive/backend +%-ghci: LOCAL_CONTAINERFILE=true .PHONY: %-hoogle %-hoogle: SERVICE=backend %-hoogle: SERVICE_VARIANT=hoogle %-hoogle: BASE_PORTS = "HOOGLE_PORT=8081" %-hoogle: IMAGE=localhost/fradrive/backend +%-hoogle: LOCAL_CONTAINERFILE=true --start-hoogle: HOOGLE_PORT=`cat $(CONTAINER_FILE) | grep 'HOOGLE_PORT=' | sed 's/HOOGLE_PORT=//'` ; \ stack $(STACK_CORES) hoogle -- server --local --port $${HOOGLE_PORT} @@ -138,24 +144,28 @@ start: .PHONY: %-frontend %-frontend: SERVICE=frontend %-frontend: SERVICE_VARIANT=frontend +%-frontend: LOCAL_CONTAINERFILE=true %-frontend: IMAGE=localhost/fradrive/frontend .PHONY: %-postgres %-postgres: SERVICE=postgres %-postgres: SERVICE_VARIANT=postgres %-postgres: BASE_PORTS = "PGPORT=5432" -%-postgres: SET_IMAGE=localhost/fradrive/postgres +%-postgres: IMAGE=--env POSTGRES_HOST_AUTH_METHOD=trust -v ./docker/postgres/pg_hba.conf:/tmp/pg_hba.conf -v ./docker/postgres/postgresql.conf:/tmp/postgresql.conf -v ./docker/postgres/pgconfig.sh:/docker-entrypoint-initdb.d/_pgconfig.sh -v ./docker/postgres/schema.sql:/docker-entrypoint-initdb.d/schema.sql $$(POSTGRES_IMAGE) +%-postgres: LOCAL_CONTAINERFILE=false .PHONY: %-memcached %-memcached: SERVICE=memcached %-memcached: SERVICE_VARIANT=memcached -%-memcached: SET_IMAGE=$$(MEMCACHED_IMAGE) --port=`cat $$(CONTAINER_FILE) | grep 'MEMCACHED_PORT=' | sed 's/MEMCACHED_PORT=//'` +%-memcached: IMAGE=$$(MEMCACHED_IMAGE) --port=`cat $$(CONTAINER_FILE) | grep 'MEMCACHED_PORT=' | sed 's/MEMCACHED_PORT=//'` +%-memcached: LOCAL_CONTAINERFILE=false %-memcached: BASE_PORTS = "MEMCACHED_PORT=11211" .PHONY: %-maildev %-maildev: SERVICE=maildev %-maildev: SERVICE_VARIANT=maildev -%-maildev: SET_IMAGE=$$(MAILDEV_IMAGE) --port=`cat $$(CONTAINER_FILE) | grep 'MAILDEV_PORT=' | sed 's/MAILDEV_PORT=//'` +%-maildev: IMAGE=$$(MAILDEV_IMAGE) --port=`cat $$(CONTAINER_FILE) | grep 'MAILDEV_PORT=' | sed 's/MAILDEV_PORT=//'` +%-maildev: LOCAL_CONTAINERFILE=false %-maildev: BASE_PORTS = "MAILDEV_PORT=1025" .PHONY: %-release @@ -163,11 +173,13 @@ start: %-release: SERVICE=fradrive %-release: SERVICE_VARIANT=fradrive %-release: IMAGE=localhost/fradrive/fradrive +%-release: LOCAL_CONTAINERFILE=true .PHONY: %-minio %-minio: SERVICE=minio %-minio: SERVICE_VARIANT=minio -%-minio: SET_IMAGE=$$(MINIO_IMAGE) -- server `mktemp` --address=:`cat $$(CONTAINER_FILE) | grep 'UPLOAD_S3_PORT=' | sed 's/UPLOAD_S3_PORT=//'` +%-minio: IMAGE=$$(MINIO_IMAGE) -- server `mktemp` --address=:`cat $$(CONTAINER_FILE) | grep 'UPLOAD_S3_PORT=' | sed 's/UPLOAD_S3_PORT=//'` +%-minio: LOCAL_CONTAINERFILE=false %-minio: BASE_PORTS = "UPLOAD_S3_PORT=9000" .PHONY: start-% @@ -229,7 +241,7 @@ ghci: shell-ghci; rebuild-%: $(MAKE) -- --image-build SERVICE=$* NO_CACHE=--no-cache --image-build: -ifeq "$(IMAGE)" "localhost/fradrive/$(SERVICE)" +ifeq "$(LOCAL_CONTAINERFILE)" "true" rm -f .Dockerfile ln -s docker/$(SERVICE)/Dockerfile .Dockerfile PROJECT_DIR=/fradrive; \ @@ -250,12 +262,9 @@ endif DEVELOP=`cat develop/.current` ; \ ./utils/watchcontainerrun.sh "$(CONTAINER_COMMAND)" "$(CONTAINER_FILE)" "$(CONTAINER_INIT)" "$(CONTAINER_CLEANUP)" & \ CONTAINER_NAME=fradrive.$(CURR_DEV).$(CONTAINER_IDENT) ; \ - if ! [ -z "$(SET_IMAGE)" ] ; \ + if [ "$(LOCAL_CONTAINERFILE)" = "true" ] ; \ then \ - IMAGE="$(SET_IMAGE)" ; \ - else \ - IMAGE=$(IMAGE) ; \ - MAKECALL="make -- --$(JOB)-$(SERVICE_VARIANT) IN_CONTAINER=true" ; \ + MAKECALL="make -- --$(JOB)-$(SERVICE_VARIANT) IN_CONTAINER=true" ; \ fi ; \ CONTAINER_ID=`$(CONTAINER_BGRUN) \ -v $(PWD):$(PROJECT_DIR):rw \ @@ -265,7 +274,7 @@ endif --env JOB=$(JOB) \ --env SRC=$(SRC) \ --name $${CONTAINER_NAME} \ - $${IMAGE} \ + $(IMAGE) \ $${MAKECALL} \ ` ; \ printf "CONTAINER_ID=$${CONTAINER_ID}" >> "$(CONTAINER_FILE)" ; \ diff --git a/docker/postgres/Dockerfile b/docker/postgres/Dockerfile deleted file mode 100644 index c3a14c0b9..000000000 --- a/docker/postgres/Dockerfile +++ /dev/null @@ -1,9 +0,0 @@ -FROM docker.io/postgres:12 - -# Allow for connecting to database without password authentication -ENV POSTGRES_HOST_AUTH_METHOD=trust - -COPY --chown=postgres:postgres docker/postgres/pg_hba.conf /tmp/pg_hba.conf -COPY --chown=postgres:postgres docker/postgres/postgresql.conf /tmp/postgresql.conf -COPY docker/postgres/pgconfig.sh /docker-entrypoint-initdb.d/_pgconfig.sh -COPY --chown=postgres:postgres docker/postgres/schema.sql /docker-entrypoint-initdb.d/schema.sql