build(Makefile): remove SET_IMAGE in favour of LOCAL_CONTAINERFILE; use non-local postgres with launch args
This commit is contained in:
parent
9ce3b5d146
commit
d33a792045
33
Makefile
33
Makefile
@ -15,6 +15,8 @@ export IMAGE_REGISTRY = docker.io
|
|||||||
export MEMCACHED_IMAGE = $(IMAGE_REGISTRY)/memcached:latest
|
export MEMCACHED_IMAGE = $(IMAGE_REGISTRY)/memcached:latest
|
||||||
export MINIO_IMAGE = $(IMAGE_REGISTRY)/minio/minio: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 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_CONTAINER ?= false
|
||||||
export IN_CI ?= false
|
export IN_CI ?= false
|
||||||
@ -31,7 +33,7 @@ export SERVICE
|
|||||||
export SERVICE_VARIANT ?= $(SERVICE)
|
export SERVICE_VARIANT ?= $(SERVICE)
|
||||||
export JOB
|
export JOB
|
||||||
export IMAGE
|
export IMAGE
|
||||||
export SET_IMAGE
|
export MAKECALL
|
||||||
export ENTRYPOINT
|
export ENTRYPOINT
|
||||||
export EXEC_OPTS
|
export EXEC_OPTS
|
||||||
|
|
||||||
@ -113,6 +115,7 @@ start:
|
|||||||
.PHONY: %-backend
|
.PHONY: %-backend
|
||||||
%-backend: SERVICE=backend
|
%-backend: SERVICE=backend
|
||||||
%-backend: SERVICE_VARIANT=backend
|
%-backend: SERVICE_VARIANT=backend
|
||||||
|
%-backend: LOCAL_CONTAINERFILE=true
|
||||||
%-backend: IMAGE=localhost/fradrive/backend
|
%-backend: IMAGE=localhost/fradrive/backend
|
||||||
%-backend: BASE_PORTS = "DEV_PORT_HTTP=3000" "DEV_PORT_HTTPS=3443"
|
%-backend: BASE_PORTS = "DEV_PORT_HTTP=3000" "DEV_PORT_HTTPS=3443"
|
||||||
|
|
||||||
@ -120,17 +123,20 @@ start:
|
|||||||
%-uniworxdb: SERVICE=backend
|
%-uniworxdb: SERVICE=backend
|
||||||
%-uniworxdb: SERVICE_VARIANT=uniworxdb
|
%-uniworxdb: SERVICE_VARIANT=uniworxdb
|
||||||
%-uniworxdb: IMAGE=localhost/fradrive/backend
|
%-uniworxdb: IMAGE=localhost/fradrive/backend
|
||||||
|
%-uniworxdb: LOCAL_CONTAINERFILE=true
|
||||||
|
|
||||||
.PHONY: %-ghci
|
.PHONY: %-ghci
|
||||||
%-ghci: SERVICE=backend
|
%-ghci: SERVICE=backend
|
||||||
%-ghci: SERVICE_VARIANT=ghci
|
%-ghci: SERVICE_VARIANT=ghci
|
||||||
%-ghci: IMAGE=localhost/fradrive/backend
|
%-ghci: IMAGE=localhost/fradrive/backend
|
||||||
|
%-ghci: LOCAL_CONTAINERFILE=true
|
||||||
|
|
||||||
.PHONY: %-hoogle
|
.PHONY: %-hoogle
|
||||||
%-hoogle: SERVICE=backend
|
%-hoogle: SERVICE=backend
|
||||||
%-hoogle: SERVICE_VARIANT=hoogle
|
%-hoogle: SERVICE_VARIANT=hoogle
|
||||||
%-hoogle: BASE_PORTS = "HOOGLE_PORT=8081"
|
%-hoogle: BASE_PORTS = "HOOGLE_PORT=8081"
|
||||||
%-hoogle: IMAGE=localhost/fradrive/backend
|
%-hoogle: IMAGE=localhost/fradrive/backend
|
||||||
|
%-hoogle: LOCAL_CONTAINERFILE=true
|
||||||
--start-hoogle:
|
--start-hoogle:
|
||||||
HOOGLE_PORT=`cat $(CONTAINER_FILE) | grep 'HOOGLE_PORT=' | sed 's/HOOGLE_PORT=//'` ; \
|
HOOGLE_PORT=`cat $(CONTAINER_FILE) | grep 'HOOGLE_PORT=' | sed 's/HOOGLE_PORT=//'` ; \
|
||||||
stack $(STACK_CORES) hoogle -- server --local --port $${HOOGLE_PORT}
|
stack $(STACK_CORES) hoogle -- server --local --port $${HOOGLE_PORT}
|
||||||
@ -138,24 +144,28 @@ start:
|
|||||||
.PHONY: %-frontend
|
.PHONY: %-frontend
|
||||||
%-frontend: SERVICE=frontend
|
%-frontend: SERVICE=frontend
|
||||||
%-frontend: SERVICE_VARIANT=frontend
|
%-frontend: SERVICE_VARIANT=frontend
|
||||||
|
%-frontend: LOCAL_CONTAINERFILE=true
|
||||||
%-frontend: IMAGE=localhost/fradrive/frontend
|
%-frontend: IMAGE=localhost/fradrive/frontend
|
||||||
|
|
||||||
.PHONY: %-postgres
|
.PHONY: %-postgres
|
||||||
%-postgres: SERVICE=postgres
|
%-postgres: SERVICE=postgres
|
||||||
%-postgres: SERVICE_VARIANT=postgres
|
%-postgres: SERVICE_VARIANT=postgres
|
||||||
%-postgres: BASE_PORTS = "PGPORT=5432"
|
%-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
|
.PHONY: %-memcached
|
||||||
%-memcached: SERVICE=memcached
|
%-memcached: SERVICE=memcached
|
||||||
%-memcached: SERVICE_VARIANT=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"
|
%-memcached: BASE_PORTS = "MEMCACHED_PORT=11211"
|
||||||
|
|
||||||
.PHONY: %-maildev
|
.PHONY: %-maildev
|
||||||
%-maildev: SERVICE=maildev
|
%-maildev: SERVICE=maildev
|
||||||
%-maildev: SERVICE_VARIANT=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"
|
%-maildev: BASE_PORTS = "MAILDEV_PORT=1025"
|
||||||
|
|
||||||
.PHONY: %-release
|
.PHONY: %-release
|
||||||
@ -163,11 +173,13 @@ start:
|
|||||||
%-release: SERVICE=fradrive
|
%-release: SERVICE=fradrive
|
||||||
%-release: SERVICE_VARIANT=fradrive
|
%-release: SERVICE_VARIANT=fradrive
|
||||||
%-release: IMAGE=localhost/fradrive/fradrive
|
%-release: IMAGE=localhost/fradrive/fradrive
|
||||||
|
%-release: LOCAL_CONTAINERFILE=true
|
||||||
|
|
||||||
.PHONY: %-minio
|
.PHONY: %-minio
|
||||||
%-minio: SERVICE=minio
|
%-minio: SERVICE=minio
|
||||||
%-minio: SERVICE_VARIANT=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"
|
%-minio: BASE_PORTS = "UPLOAD_S3_PORT=9000"
|
||||||
|
|
||||||
.PHONY: start-%
|
.PHONY: start-%
|
||||||
@ -229,7 +241,7 @@ ghci: shell-ghci;
|
|||||||
rebuild-%:
|
rebuild-%:
|
||||||
$(MAKE) -- --image-build SERVICE=$* NO_CACHE=--no-cache
|
$(MAKE) -- --image-build SERVICE=$* NO_CACHE=--no-cache
|
||||||
--image-build:
|
--image-build:
|
||||||
ifeq "$(IMAGE)" "localhost/fradrive/$(SERVICE)"
|
ifeq "$(LOCAL_CONTAINERFILE)" "true"
|
||||||
rm -f .Dockerfile
|
rm -f .Dockerfile
|
||||||
ln -s docker/$(SERVICE)/Dockerfile .Dockerfile
|
ln -s docker/$(SERVICE)/Dockerfile .Dockerfile
|
||||||
PROJECT_DIR=/fradrive; \
|
PROJECT_DIR=/fradrive; \
|
||||||
@ -250,12 +262,9 @@ endif
|
|||||||
DEVELOP=`cat develop/.current` ; \
|
DEVELOP=`cat develop/.current` ; \
|
||||||
./utils/watchcontainerrun.sh "$(CONTAINER_COMMAND)" "$(CONTAINER_FILE)" "$(CONTAINER_INIT)" "$(CONTAINER_CLEANUP)" & \
|
./utils/watchcontainerrun.sh "$(CONTAINER_COMMAND)" "$(CONTAINER_FILE)" "$(CONTAINER_INIT)" "$(CONTAINER_CLEANUP)" & \
|
||||||
CONTAINER_NAME=fradrive.$(CURR_DEV).$(CONTAINER_IDENT) ; \
|
CONTAINER_NAME=fradrive.$(CURR_DEV).$(CONTAINER_IDENT) ; \
|
||||||
if ! [ -z "$(SET_IMAGE)" ] ; \
|
if [ "$(LOCAL_CONTAINERFILE)" = "true" ] ; \
|
||||||
then \
|
then \
|
||||||
IMAGE="$(SET_IMAGE)" ; \
|
MAKECALL="make -- --$(JOB)-$(SERVICE_VARIANT) IN_CONTAINER=true" ; \
|
||||||
else \
|
|
||||||
IMAGE=$(IMAGE) ; \
|
|
||||||
MAKECALL="make -- --$(JOB)-$(SERVICE_VARIANT) IN_CONTAINER=true" ; \
|
|
||||||
fi ; \
|
fi ; \
|
||||||
CONTAINER_ID=`$(CONTAINER_BGRUN) \
|
CONTAINER_ID=`$(CONTAINER_BGRUN) \
|
||||||
-v $(PWD):$(PROJECT_DIR):rw \
|
-v $(PWD):$(PROJECT_DIR):rw \
|
||||||
@ -265,7 +274,7 @@ endif
|
|||||||
--env JOB=$(JOB) \
|
--env JOB=$(JOB) \
|
||||||
--env SRC=$(SRC) \
|
--env SRC=$(SRC) \
|
||||||
--name $${CONTAINER_NAME} \
|
--name $${CONTAINER_NAME} \
|
||||||
$${IMAGE} \
|
$(IMAGE) \
|
||||||
$${MAKECALL} \
|
$${MAKECALL} \
|
||||||
` ; \
|
` ; \
|
||||||
printf "CONTAINER_ID=$${CONTAINER_ID}" >> "$(CONTAINER_FILE)" ; \
|
printf "CONTAINER_ID=$${CONTAINER_ID}" >> "$(CONTAINER_FILE)" ; \
|
||||||
|
|||||||
@ -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
|
|
||||||
Reference in New Issue
Block a user