diff --git a/Makefile b/Makefile index 3b1591818..055ea674e 100644 --- a/Makefile +++ b/Makefile @@ -2,17 +2,21 @@ SHELL=bash # MAKE=make -d export CONTAINER_COMMAND ?= podman -export CONTAINER_PORTS ?= --network=host +export CONTAINER_RUN ?= $(CONTAINER_COMMAND) run -it --network=host + export IN_CONTAINER ?= false export IN_CI ?= false + export WATCH export db ?= -cf + export DEV_PORT_HTTP export DEV_PORT_HTTPS -export MEMCACHED_IMAGE = docker.io/memcached:latest -export MINIO_IMAGE = docker.io/minio/minio:latest -export MAILDEV_IMAGE = docker.io/maildev/maildev:latest +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 # HELP HEADER START # To see the definition of all available targets, take a look into the Makefile. @@ -33,7 +37,7 @@ export MAILDEV_IMAGE = docker.io/maildev/maildev:latest # HELP: print out this help message help: @if [ -z "$$(which perl 2>/dev/null)" ] ; then \ - $(CONTAINER_COMMAND) run -v .:/mnt 'debian:12.5' '/mnt/utils/makehelp.pl' '/mnt/Makefile' ; \ + $(CONTAINER_RUN) .:/mnt 'debian:12.5' '/mnt/utils/makehelp.pl' '/mnt/Makefile' ; \ else \ utils/makehelp.pl Makefile ; \ fi @@ -66,7 +70,7 @@ release: MOUNT_DIR=/mnt/fradrive ; \ FRADRIVE_SERVICE=$* ; \ $(MAKE) -- --image-build FRADRIVE_SERVICE=$${FRADRIVE_SERVICE} ; \ - $(CONTAINER_COMMAND) run -it -v $(PWD):$${MOUNT_DIR} $(CONTAINER_PORTS) --env IN_CONTAINER=true --entrypoint /bin/bash --name fradrive.$${FRADRIVE_SERVICE}.interactive.$$(date +'%Y-%m-%dT%H-%M-%S') fradrive/$${FRADRIVE_SERVICE} + $(CONTAINER_RUN) -v $(PWD):$${MOUNT_DIR} --env IN_CONTAINER=true --entrypoint /bin/bash --name fradrive.$${FRADRIVE_SERVICE}.interactive.$$(date +'%Y-%m-%dT%H-%M-%S') fradrive/$${FRADRIVE_SERVICE} ##### GENERAL TARGETS ##### ########################### @@ -214,10 +218,6 @@ PHONY: --db-%-backend --.stack: stack.yaml stack.yaml.lock stack build --fast --only-dependencies $(stackopts) -# TODO: deprecated, remove -# .stack-work.lock: -# [ "${FLOCKER}" != "$0" ] && exec env FLOCKER="$0" flock -en .stack-work.lock "$0" "$@" || : - ##### BACKEND TARGETS ##### ########################### @@ -231,19 +231,18 @@ serve-database: --containerized-database; --containerized-database: FRADRIVE_SERVICE=database # port forwarding is disabled in --network=host mode; nevertheless it is stated here for documentation reasons -# --containerized-database: CONTAINER_PORTS=--network=host -p 5432:5432/tcp --containerized-database: docker/database/initdb.sh docker/database/pg_hba.conf docker/database/postgresql.conf docker/database/schema.sql --image-build if [ "$(IN_CONTAINER)" == "false" ] ; then \ - $(CONTAINER_COMMAND) run -it $(CONTAINER_PORTS) --name fradrive.$(FRADRIVE_SERVICE).$$(date +'%Y-%m-%dT%H-%M-%S') fradrive/$(FRADRIVE_SERVICE) ; \ + $(CONTAINER_RUN) --name fradrive.$(FRADRIVE_SERVICE).$$(date +'%Y-%m-%dT%H-%M-%S') fradrive/$(FRADRIVE_SERVICE) ; \ fi .PHONY: serve-memcached serve-memcached: - $(CONTAINER_COMMAND) run -it --network=host $(MEMCACHED_IMAGE) + $(CONTAINER_RUN) $(MEMCACHED_IMAGE) .PHONY: serve-minio serve-minio: - $(CONTAINER_COMMAND) run -it --network=host $(MINIO_IMAGE) -- server $$(mktemp) + $(CONTAINER_RUN) $(MINIO_IMAGE) -- server $$(mktemp) ##### DATABASE TARGETS ##### ############################ @@ -254,13 +253,10 @@ serve-minio: .PHONY: --containerized-%-frontend --containerized-%-frontend: FRADRIVE_SERVICE=frontend -#--containerized-%-frontend: --image-build --image-run-%-frontend; --containerized-%-frontend: --image-build $(MAKE) -- --image-run-$*-frontend --containerized-%-backend: FRADRIVE_SERVICE=backend -#--containerized-%-backend: --image-build --image-run-%-backend; -# --containerized-%-backend: CONTAINER_PORTS=--network=host -p $(DEV_PORT_HTTP):3000 -p $(DEV_PORT_HTTPS):3443 --containerized-%-backend: --image-build $(MAKE) -- --image-run-$*-backend @@ -285,7 +281,7 @@ image-rebuild-%: if [ "$(IN_CONTAINER)" == "true" ] ; then \ $(MAKE) -- $* ; \ else \ - $(CONTAINER_COMMAND) run -it -v $(PWD):$${MOUNT_DIR} $(CONTAINER_PORTS) --env IN_CONTAINER=true --env FRADRIVE_MAKE_TARGET=$* --env WATCH=$(WATCH) --name fradrive.$(FRADRIVE_SERVICE).$$(date +'%Y-%m-%dT%H-%M-%S') localhost/fradrive/$(FRADRIVE_SERVICE) ; \ + $(CONTAINER_RUN) -v $(PWD):$${MOUNT_DIR} --env IN_CONTAINER=true --env FRADRIVE_MAKE_TARGET=$* --env WATCH=$(WATCH) --name fradrive.$(FRADRIVE_SERVICE).$$(date +'%Y-%m-%dT%H-%M-%S') localhost/fradrive/$(FRADRIVE_SERVICE) ; \ fi ##### CONTAINER TARGETS #####