multi domain

This commit is contained in:
Yann Autissier 2022-12-09 19:17:22 +00:00
parent b8fe9d893c
commit 92dcf23fdd
32 changed files with 142 additions and 98 deletions

View File

@ -1,7 +1,7 @@
BUILD_AUTHOR ?= $(DOCKER_AUTHOR)
BUILD_DATE ?= $(shell TZ=UTC date "+%Y%m%dT%H%M%SZ" 2>/dev/null)
BUILD_DESCRIPTION ?= Lot of Love
BUILD_DOCUMENTATION ?= $(if $(wildcard README.md),$(APP_REPOSITORY_URL)/blob/$(COMMIT)/README.md)
BUILD_DOCUMENTATION ?= $(APP_REPOSITORY_URL)$(if $(wildcard README.md),/blob/$(COMMIT)/README.md)
BUILD_ENV_VARS ?= APP BRANCH BUILD_DATE BUILD_STATUS COMMIT DEPLOY_HOOK_URL ENV UID USER VERSION
BUILD_LABEL_VARS ?= org.label-schema.% org.opencontainers.% os.my.%
BUILD_LABEL_ARGS ?= $(foreach var,$(filter $(BUILD_LABEL_VARS),$(MAKE_FILE_VARS)),$(if $($(var)),$(var)='$($(var))'))
@ -22,29 +22,24 @@ org.label-schema.vcs-ref ?= $(COMMIT)
org.label-schema.vcs-url ?= $(APP_REPOSITORY_URL)
org.label-schema.vendor ?= $(BUILD_AUTHOR)
org.label-schema.version ?= $(VERSION)
org.opencontainers.image.created ?= $(BUILD_DATE)
org.opencontainers.image.revision ?= $(COMMIT)
org.opencontainers.image.source ?= $(APP_REPOSITORY_URL)
org.opencontainers.image.url ?= $(APP_URL)
org.opencontainers.image.vendor ?= $(BUILD_AUTHOR)
org.opencontainers.image.version ?= $(VERSION)
org.opencontainers.image.url ?= $(APP_URL)
org.opencontainers.image.source ?= $(APP_REPOSITORY_URL)
org.opencontainers.image.version ?= $(VERSION)
org.opencontainers.image.revision ?= $(COMMIT)
org.opencontainers.image.vendor ?= $(BUILD_AUTHOR)
org.opencontainers.image.title ?= $(BUILD_NAME)
org.opencontainers.image.description ?= $(BUILD_DESCRIPTION)
org.opencontainers.image.documentation ?= $(BUILD_DOCUMENTATION)
org.opencontainers.build_tool.revision ?= $(MYOS_COMMIT)
org.opencontainers.build_tool.source ?= $(MYOS_REPOSITORY)
org.opencontainers.image.authors ?= $(BUILD_AUTHOR)
org.opencontainers.image.created ?= $(BUILD_DATE)
org.opencontainers.image.description ?= $(BUILD_DESCRIPTION)
org.opencontainers.image.documentation ?= $(BUILD_DOCUMENTATION)
org.opencontainers.image.licenses ?= $(BUILD_LICENSE)
os.my.author ?= $(BUILD_AUTHOR)
os.my.date ?= $(BUILD_DATE)
os.my.license ?= $(BUILD_LICENSE)
os.my.name ?= $(BUILD_NAME)
os.my.status ?= $(BUILD_STATUS)
os.my.user ?= $(USER)
org.opencontainers.image.revision ?= $(COMMIT)
org.opencontainers.image.source ?= $(APP_REPOSITORY_URL)
org.opencontainers.image.title ?= $(BUILD_NAME)
org.opencontainers.image.url ?= $(APP_URL)
org.opencontainers.image.vendor ?= $(BUILD_AUTHOR)
org.opencontainers.image.version ?= $(VERSION)
os.my.app ?= $(APP)
os.my.build.status ?= $(BUILD_STATUS)
os.my.compose.file ?= $(COMPOSE_FILE)
os.my.compose.project.name ?= $(COMPOSE_PROJECT_NAME)
os.my.env ?= $(ENV)
os.my.uid ?= $(UID)
os.my.service ?= $(BUILD_SERVICE)
os.my.version ?= $(VERSION)

View File

@ -18,7 +18,7 @@ CONTEXT_DEBUG += DOCKER_BUILD_TARGET DOCKER_COMPOSE_PROJECT_NA
DOCKER_AUTHOR ?= $(DOCKER_AUTHOR_NAME) <$(DOCKER_AUTHOR_EMAIL)>
DOCKER_AUTHOR_EMAIL ?= $(subst +git,+docker,$(GIT_AUTHOR_EMAIL))
DOCKER_AUTHOR_NAME ?= $(GIT_AUTHOR_NAME)
DOCKER_BUILD_ARGS ?= $(if $(filter true,$(DOCKER_BUILD_NO_CACHE)),--pull --no-cache) $(foreach var,$(DOCKER_BUILD_VARS),$(if $($(var)),--build-arg $(var)='$($(var))')) --build-arg GID='$(if $(filter host,$(firstword $(subst /, ,$(STACK)))),$(HOST_GID),$(GID))' --build-arg UID='$(if $(filter host,$(firstword $(subst /, ,$(STACK)))),$(HOST_UID),$(UID))'
DOCKER_BUILD_ARGS ?= $(if $(filter true,$(DOCKER_BUILD_NO_CACHE)),--pull --no-cache) $(foreach var,$(DOCKER_BUILD_VARS),$(if $($(var)),--build-arg $(var)='$($(var))')) --build-arg GID='$(if $(STACK_HOST),$(HOST_GID),$(GID))' --build-arg UID='$(if $(STACK_HOST),$(HOST_UID),$(UID))'
DOCKER_BUILD_CACHE ?= true
DOCKER_BUILD_LABEL ?= $(foreach var,$(filter $(BUILD_LABEL_VARS),$(MAKE_FILE_VARS)),$(if $($(var)),--label $(var)='$($(var))'))
DOCKER_BUILD_NO_CACHE ?= false
@ -29,7 +29,7 @@ DOCKER_BUILD_VARS ?= APP BRANCH COMPOSE_VERSION DOCKER_GID DOCKER_
DOCKER_COMPOSE ?= $(or $(shell docker-compose --version 2>/dev/null |awk '$$4 != "v'"$(COMPOSE_VERSION)"'" {exit 1;}' && printf 'docker-compose\n'),$(shell docker compose >/dev/null 2>&1 && printf 'docker compose\n'))
DOCKER_COMPOSE_ARGS ?= --ansi=auto
DOCKER_COMPOSE_DOWN_OPTIONS ?=
DOCKER_COMPOSE_PROJECT_NAME ?= $(if $(filter host,$(firstword $(subst /, ,$(STACK)))),$(HOST_COMPOSE_PROJECT_NAME),$(if $(filter User,$(firstword $(subst /, ,$(STACK)))),$(USER_COMPOSE_PROJECT_NAME)))
DOCKER_COMPOSE_PROJECT_NAME ?= $(if $(STACK_HOST),$(HOST_COMPOSE_PROJECT_NAME),$(if $(STACK_USER),$(USER_COMPOSE_PROJECT_NAME)))
DOCKER_COMPOSE_RUN_ENTRYPOINT ?= $(patsubst %,--entrypoint=%,$(DOCKER_COMPOSE_ENTRYPOINT))
DOCKER_COMPOSE_RUN_OPTIONS ?= --rm $(DOCKER_COMPOSE_RUN_ENTRYPOINT) $(DOCKER_COMPOSE_RUN_WORKDIR)
DOCKER_COMPOSE_RUN_WORKDIR ?= $(if $(DOCKER_COMPOSE_WORKDIR),-w $(DOCKER_COMPOSE_WORKDIR))

View File

@ -1,6 +1,8 @@
APP_DIR ?= $(CURDIR)
APP_DOMAIN ?= $(addsuffix .,$(filter-out $(ENV_DEPLOY),$(ENV)))$(USER).$(DOMAIN)
APP_HOST ?= $(addsuffix .,$(APP_NAME))$(APP_DOMAIN)
APP_DOMAIN ?= $(patsubst %,$(APP_DOMAIN_PREFIX)%,$(DOMAIN))
APP_DOMAIN_PREFIX ?= $(if $(STACK_HOST),,$(addsuffix .,$(filter-out $(ENV_DEPLOY),$(ENV)))$(USER).)
APP_HOST ?= $(patsubst %,$(APP_HOST_PREFIX)%,$(APP_DOMAIN))$(if $(HOST_LB),$(space)$(APP_DOMAIN))
APP_HOST_PREFIX ?= $(addsuffix .,$(if $(STACK_HOST),$(HOSTNAME),$(if $(APP_LB),,$(APP_NAME))))
APP_INSTALLED ?= $(APPS)
APP_PARENT ?= $(MONOREPO)
APP_PARENT_DIR ?= $(MONOREPO_DIR)
@ -14,9 +16,9 @@ APP_REPOSITORY_URL ?= $(GIT_REPOSITORY)
APP_REQUIRED ?= $(APP_REPOSITORY)
APP_SCHEME ?= https
APP_UPSTREAM_REPOSITORY ?= $(or $(shell git config --get remote.upstream.url 2>/dev/null),$(GIT_UPSTREAM_REPOSITORY))
APP_URI ?= $(APP_HOST)/$(APP_PATH)
APP_URI ?= $(patsubst %,%/$(APP_PATH),$(APP_HOST))
APP_URIS ?= $(APP_URI)
APP_URL ?= $(APP_SCHEME)://$(APP_URI)
APP_URL ?= $(patsubst %,$(APP_SCHEME)://%,$(APP_URI))
CONTEXT += APP APPS BRANCH DOMAIN VERSION RELEASE
CONTEXT_DEBUG += APP_DIR APP_URL APP_REPOSITORY APP_UPSTREAM_REPOSITORY ENV_DEPLOY
ENV_DEPLOY ?= $(patsubst origin/%,%,$(shell git rev-parse --symbolic --remotes=origin |sed '/origin\/HEAD/d' 2>/dev/null))
@ -26,3 +28,17 @@ MOUNT_NFS ?= false
NFS_CONFIG ?= addr=$(NFS_HOST),actimeo=3,intr,noacl,noatime,nocto,nodiratime,nolock,soft,rsize=32768,wsize=32768,tcp,rw,vers=3
NFS_HOST ?= host.docker.internal
SERVICES ?= $(DOCKER_SERVICES)
patsublist = $(patsubst $(1),$(2),$(firstword $(3)))$(foreach pat,$(wordlist 2,16,$(3)),$(comma)$(space)$(patsubst $(1),$(2),$(pat)))
urlprefix = $(call patsublist,%,urlprefix-%$(1),$(or $(2),$(APP_URIS)))
urlprefixs = $(call urlprefix,$(1))$(foreach prefix,$(subst $(space),$(dollar),$(2)) $(subst $(space),$(dollar),$(3)) $(subst $(space),$(dollar),$(4)),$(comma)$(space)$(call subst,$(dollar),$(space),$(call urlprefix,$(prefix))))
## urlprefix tests (x APP_URI)
# $(call urlprefix)
# urlprefix-app.domain/
# $(call urlprefix,admin)
# urlprefix-app.domain/admin
# $(call urlprefix,:443/ proto=https,$(APP_HOST))
# urlprefix-app.domain:443/ proto=https
## urlprefixs tests (x prefix)
# $(call urlprefixs,admin strip=/admin,images)
# urlprefix-app.domain/admin strip=/admin, urlprefix-app.domain/images

View File

@ -18,8 +18,8 @@ ufw-docker:
ufw-update: debug-UFW_UPDATE
$(eval name := $(COMPOSE_PROJECT_NAME))
$(foreach UPDATE,$(call UPPERCASE,$(UFW_UPDATE)), \
$(eval ufw_update := $($(if $(filter host,$(firstword $(subst /, ,$(STACK)))),HOST_)$(UPDATE)_UFW_UPDATE)) \
$(eval ufw_docker := $($(if $(filter host,$(firstword $(subst /, ,$(STACK)))),HOST_)$(UPDATE)_UFW_DOCKER)) \
$(eval ufw_update := $($(if $(STACK_HOST),HOST_)$(UPDATE)_UFW_UPDATE)) \
$(eval ufw_docker := $($(if $(STACK_HOST),HOST_)$(UPDATE)_UFW_DOCKER)) \
$(foreach port,$(ufw_docker), \
$(call ufw-docker,$(if $(UFW_DELETE),delete) allow $(name)-$(call LOWERCASE,$(UPDATE)) $(port) ||:) \
) \

View File

@ -52,7 +52,7 @@ define app-docker
$(eval service := $(or $(DOCKER_SERVICE),$(subst .,,$(call LOWERCASE,$(lastword $(subst /, ,$(patsubst %/Dockerfile,%,$(dockerfile)))))),undefined))
$(eval docker := ${COMPOSE_SERVICE_NAME}-$(service))
$(eval DOCKER_IMAGE := $(DOCKER_REPOSITORY)/$(service):$(DOCKER_IMAGE_TAG))
$(eval DOCKER_LABELS := SERVICE_NAME=$(docker) SERVICE_TAGS=urlprefix-$(service).$(APP_DOMAIN)/$(APP_PATH))
$(eval DOCKER_LABELS := SERVICE_NAME=$(docker) SERVICE_TAGS=$(call urlprefix,$(APP_PATH),$(service).$(APP_HOST)/)
$(eval DOCKER_NAME := $(docker))
$(eval DOCKER_RUN_NAME := --name $(DOCKER_NAME))
, $(call ERROR,Unable to find Dockerfile,$(dockerfile))

View File

@ -4,7 +4,7 @@ DOCKER_GID ?= $(call gid,docker)
DOCKER_IMAGE ?= $(USER_DOCKER_IMAGE)
DOCKER_MACHINE ?= $(shell docker run --rm alpine uname -m 2>/dev/null)
DOCKER_NAME ?= $(USER_DOCKER_NAME)
DOCKER_NETWORK ?= $(if $(filter User,$(firstword $(subst /, ,$(STACK)))),$(USER),$(DOCKER_NETWORK_PRIVATE))
DOCKER_NETWORK ?= $(if $(STACK_USER),$(USER),$(DOCKER_NETWORK_PRIVATE))
DOCKER_NETWORK_PRIVATE ?= $(USER)-$(ENV)
DOCKER_NETWORK_PUBLIC ?= $(HOSTNAME)
# DOCKER_RUN: if empty, run system command, else run it in a docker
@ -26,6 +26,8 @@ HOST_DOCKER_VOLUME ?= $(HOST_COMPOSE_PROJECT_NAME)
HOST_GID ?= 100
HOST_UID ?= 123
RESU_DOCKER_REPOSITORY ?= $(subst -,/,$(subst _,/,$(USER_COMPOSE_PROJECT_NAME)))
STACK_HOST ?= $(filter host,$(firstword $(subst /, ,$(STACK))))
STACK_USER ?= $(filter User,$(firstword $(subst /, ,$(STACK))))
USER_COMPOSE_PROJECT_NAME ?= $(strip $(RESU))
USER_COMPOSE_SERVICE_NAME ?= $(subst _,-,$(subst .,-,$(USER_COMPOSE_PROJECT_NAME)))
USER_DOCKER_IMAGE ?= $(USER_DOCKER_REPOSITORY):${DOCKER_IMAGE_TAG}

View File

@ -3,8 +3,9 @@
comma ?= ,
dollar ?= $
dquote ?= "
quote ?= '
lbracket ?= (
percent ?= %
quote ?= '
rbracket ?= )
APP ?= $(if $(wildcard .git),$(notdir $(CURDIR)))
APP_LOAD ?= $(if $(SUBREPO),subrepo) $(if $(filter .,$(MYOS)),myos)
@ -169,8 +170,8 @@ INFO = $(if $(VERBOSE),$(if $(filter-out true,$(IGNORE_VERBOSE)), \
))
# macro RESU: Print USER associated to MAIL
RESU = \
$(if $(findstring @,$(MAIL)), \
RESU = $(strip \
$(if $(findstring @,$(MAIL)), \
$(eval user := $(subst +,,$(subst -,,$(call LOWERCASE,$(shell printf '$(MAIL)' |awk -F "@" '{print $$1}'))))) \
$(eval domain := $(call LOWERCASE,$(call subst,_,,$(shell printf '$(MAIL)' |awk -F "@" '{print $$NF}')))) \
$(if $(domain), \
@ -183,9 +184,9 @@ $(if $(findstring @,$(MAIL)), \
$(resu_niamod) \
, $(USER) \
) \
, $(USER) \
, $(USER) \
) \
)
# macro TIME: Print time elapsed since unixtime 1
TIME = awk '{printf "%02d:%02d:%02d\n",int($$1/3600),int(($$1%3600)/60),int($$1%60)}' \
<<< $(shell awk 'BEGIN {current=$(or $(2),$(MAKE_UNIXTIME_CURRENT)); start=$(or $(1),$(MAKE_UNIXTIME_START)); print (current - start)}' 2>/dev/null)

View File

@ -9,10 +9,8 @@ start-stack-User: ssh-add
# target user: Fire start-stack-User if DOCKER_RUN or fire start-stack-User
.PHONY: User user
User user: STACK := User
User user: $(if $(DOCKER_RUN),stack-User-up,start-stack-User)
# target User-% user-%; Fire target stack-User-%
.PHONY: User-% user-%
User-% user-%: STACK := User
User-% user-%: stack-User-%;

View File

@ -1,4 +1,7 @@
ENV_VARS += USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN USER_IPFS_SERVICE_5001_TAGS USER_IPFS_SERVICE_8080_TAGS
USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= ["https://ipfs.$(user_domain).$(DOMAIN)"]
USER_IPFS_SERVICE_5001_TAGS ?= $(if $(filter localhost,$(DOMAIN)),urlprefix-ipfs.$(user_domain).$(DOMAIN)/api/)
USER_IPFS_SERVICE_8080_TAGS ?= urlprefix-ipfs.$(user_domain).$(DOMAIN)/
USER_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= [$(call patsublist,%,"https://%",$(USER_IPFS_SERVICE_8080_URIS))]
USER_IPFS_SERVICE_URIS ?= $(patsubst %,ipfs.%,$(patsubst %,$(RESU).%,$(DOMAIN))/)
USER_IPFS_SERVICE_5001_TAGS ?= $(filter %.localhost/api,$(call urlprefix,api,$(USER_IPFS_SERVICE_5001_URIS)))
USER_IPFS_SERVICE_5001_URIS ?= $(USER_IPFS_SERVICE_URIS)
USER_IPFS_SERVICE_8080_TAGS ?= $(call urlprefix,,$(USER_IPFS_SERVICE_8080_URIS))
USER_IPFS_SERVICE_8080_URIS ?= $(USER_IPFS_SERVICE_URIS)

View File

@ -1,5 +1,6 @@
ENV_VARS += NEXTCLOUD_MYSQL_DATABASE NEXTCLOUD_MYSQL_USER NEXTCLOUD_SERVICE_80_TAGS
NEXTCLOUD_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(NEXTCLOUD_SERVICE_80_URIS))
NEXTCLOUD_SERVICE_80_URIS ?= $(patsubst %,nextcloud.%,$(APP_URIS))
NEXTCLOUD_SERVICE_URIS ?= $(patsubst %,nextcloud.%,$(APP_URIS))
NEXTCLOUD_SERVICE_80_TAGS ?= $(call urlprefix,,$(NEXTCLOUD_SERVICE_80_URIS))
NEXTCLOUD_SERVICE_80_URIS ?= $(NEXTCLOUD_SERVICE_URIS)
NEXTCLOUD_MYSQL_DATABASE ?= $(COMPOSE_SERVICE_NAME)-nextcloud
NEXTCLOUD_MYSQL_USER ?= $(NEXTCLOUD_MYSQL_DATABASE)

View File

@ -1,8 +1,9 @@
drone ?= drone/drone drone/drone-runner-docker drone/gc
DRONE_RUNNER_NAME ?= drone-runner.${APP_HOST}
DRONE_SERVER_HOST ?= drone.${APP_HOST}
DRONE_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(DRONE_SERVICE_80_URIS))
DRONE_SERVICE_80_URIS ?= $(patsubst %,drone.%,$(APP_URIS))
DRONE_RUNNER_NAME ?= drone-runner.$(firstword $(APP_HOST))
DRONE_SERVER_HOST ?= drone.$(firstword $(APP_HOST))
DRONE_SERVICE_URIS ?= $(patsubst %,drone.%,$(APP_URIS))
DRONE_SERVICE_80_TAGS ?= $(call urlprefix,,$(DRONE_SERVICE_80_URIS))
DRONE_SERVICE_80_URIS ?= $(DRONE_SERVICE_URIS)
DRONE_USER_CREATE ?= $(USER):$(GIT_USER),admin:true
DRONE_USER_FILTER ?= $(GIT_USER)
ENV_VARS += DRONE_RUNNER_NAME DRONE_SERVER_HOST DRONE_USER_CREATE DRONE_USER_FILTER DRONE_SERVICE_80_TAGS

View File

@ -1,10 +1,13 @@
APM_SERVER_SERVICE_8200_TAGS ?= $(patsubst %,urlprefix-%,$(APM_SERVER_SERVICE_8200_URIS))
APM_SERVER_SERVICE_8200_URIS ?= $(patsubst %,apm-server.%,$(APP_URIS))
ELASTICSEARCH_SERVICE_9200_TAGS ?= $(patsubst %,urlprefix-%,$(ELASTICSEARCH_SERVICE_9200_URIS))
ELASTICSEARCH_SERVICE_9200_URIS ?= $(patsubst %,elasticsearch.%,$(APP_URIS))
APM_SERVER_SERVICE_URIS ?= $(patsubst %,apm-server.%,$(APP_URIS))
APM_SERVER_SERVICE_8200_TAGS ?= $(call urlprefix,,$(APM_SERVER_SERVICE_8200_URIS))
APM_SERVER_SERVICE_8200_URIS ?= $(APM_SERVER_SERVICE_URIS)
ELASTICSEARCH_SERVICE_URIS ?= $(patsubst %,elasticsearch.%,$(APP_URIS))
ELASTICSEARCH_SERVICE_9200_TAGS ?= $(call urlprefix,,$(ELASTICSEARCH_SERVICE_9200_URIS))
ELASTICSEARCH_SERVICE_9200_URIS ?= $(ELASTICSEARCH_SERVICE_URIS)
ENV_VARS += APM_SERVER_SERVICE_8200_TAGS ELASTICSEARCH_SERVICE_9200_TAGS KIBANA_SERVICE_5601_TAGS
KIBANA_SERVICE_5601_TAGS ?= $(patsubst %,urlprefix-%,$(KIBANA_SERVICE_5601_URIS))
KIBANA_SERVICE_5601_URIS ?= $(patsubst %,kibana.%,$(APP_URIS))
KIBANA_SERVICE_URIS ?= $(patsubst %,kibana.%,$(APP_URIS))
KIBANA_SERVICE_5601_TAGS ?= $(call urlprefix,,$(KIBANA_SERVICE_5601_URIS))
KIBANA_SERVICE_5601_URIS ?= $(KIBANA_SERVICE_URIS)
elastic ?= elastic/curator elastic/elasticsearch elastic/kibana

View File

@ -1,7 +1,9 @@
APM_SERVER_OSS_SERVICE_8200_TAGS ?= $(patsubst %,urlprefix-%,$(APM_SERVER_OSS_SERVICE_8200_URIS))
APM_SERVER_OSS_SERVICE_8200_URIS ?= $(patsubst %,apm-server-oss.%,$(APP_URIS))
APM_SERVER_OSS_SERVICE_URIS ?= $(patsubst %,apm-server-oss.%,$(APP_URIS))
APM_SERVER_OSS_SERVICE_8200_TAGS ?= $(call urlprefix,,$(APM_SERVER_OSS_SERVICE_8200_URIS))
APM_SERVER_OSS_SERVICE_8200_URIS ?= $(APM_SERVER_OSS_SERVICE_URIS)
ENV_VARS += APM_SERVER_OSS_SERVICE_8200_TAGS KIBANA_OSS_SERVICE_5601_TAGS
KIBANA_OSS_SERVICE_5601_TAGS ?= $(patsubst %,urlprefix-%,$(KIBANA_OSS_SERVICE_5601_URIS))
KIBANA_OSS_SERVICE_5601_URIS ?= $(patsubst %,kibana-oss.%,$(APP_URIS))
KIBANA_OSS_SERVICE_URIS ?= $(patsubst %,kibana-oss.%,$(APP_URIS))
KIBANA_OSS_SERVICE_5601_TAGS ?= $(call urlprefix,,$(KIBANA_OSS_SERVICE_5601_URIS))
KIBANA_OSS_SERVICE_5601_URIS ?= $(KIBANA_OSS_SERVICE_URIS)
elastic-oss ?= elastic/apm-server-oss elastic/curator elastic/elasticsearch elastic/kibana-oss

View File

@ -1,4 +1,4 @@
ENV_VARS += GRAFANA_SERVICE_3000_TAGS
GRAFANA_SERVICE_3000_TAGS ?= $(patsubst %,urlprefix-%,$(GRAFANA_SERVICE_3000_URIS))
GRAFANA_SERVICE_3000_URIS ?= $(patsubst %,kibana.%,$(APP_URIS))
GRAFANA_SERVICE_URIS ?= $(patsubst %,grafana.%,$(APP_URIS))
GRAFANA_SERVICE_3000_TAGS ?= $(call urlprefix,,$(GRAFANA_SERVICE_3000_URIS))
GRAFANA_SERVICE_3000_URIS ?= $(GRAFANA_SERVICE_URIS)

View File

@ -1,5 +1,7 @@
ENV_VARS += HOST_CONSUL_ACL_TOKENS_MASTER HOST_CONSUL_HTTP_TOKEN HOST_CONSUL_SERVICE_8500_TAGS
HOST_CONSUL_ACL_TOKENS_MASTER ?= 01234567-89ab-cdef-0123-456789abcdef
HOST_CONSUL_HTTP_TOKEN ?= $(HOST_CONSUL_ACL_TOKENS_MASTER)
HOST_CONSUL_SERVICE_8500_TAGS ?= urlprefix-consul.${DOMAIN}/
HOST_CONSUL_SERVICE_URIS ?= $(patsubst %,consul.%,$(APP_URIS))
HOST_CONSUL_SERVICE_8500_TAGS ?= $(call urlprefix,,$(HOST_CONSUL_SERVICE_8500_URIS))
HOST_CONSUL_SERVICE_8500_URIS ?= $(HOST_CONSUL_SERVICE_URIS)
HOST_CONSUL_UFW_UPDATE ?= 8500

View File

@ -1,3 +1,7 @@
ENV_VARS += HOST_EXPORTER_CADVISOR_SERVICE_8080_TAGS HOST_EXPORTER_HOST_SERVICE_9100_TAGS
HOST_EXPORTER_CADVISOR_SERVICE_8080_TAGS ?= urlprefix-cadvisor-exporter.${DOMAIN}/
HOST_EXPORTER_HOST_SERVICE_9100_TAGS ?= urlprefix-node-exporter.${DOMAIN}/
ENV_VARS += HOST_EXPORTER_CADVISOR_SERVICE_8080_TAGS HOST_EXPORTER_NODE_SERVICE_9100_TAGS
HOST_EXPORTER_CADVISOR_SERVICE_URIS ?= $(patsubst %,cadvisor-exporter.%,$(APP_URIS))
HOST_EXPORTER_CADVISOR_SERVICE_8080_TAGS ?= $(call urlprefix,,$(HOST_EXPORTER_CADVISOR_SERVICE_8080_URIS))
HOST_EXPORTER_CADVISOR_SERVICE_8080_URIS ?= $(HOST_EXPORTER_CADVISOR_SERVICE_URIS)
HOST_EXPORTER_NODE_SERVICE_URIS ?= $(patsubst %,node-exporter.%,$(APP_URIS))
HOST_EXPORTER_NODE_SERVICE_9100_TAGS ?= $(call urlprefix,,$(HOST_EXPORTER_NODE_SERVICE_9100_URIS))
HOST_EXPORTER_NODE_SERVICE_9100_URIS ?= $(HOST_EXPORTER_NODE_SERVICE_URIS)

View File

@ -13,7 +13,7 @@ services:
labels:
- SERVICE_9100_CHECK_TCP=true
- SERVICE_9100_NAME=${HOST_COMPOSE_SERVICE_NAME}-exporter-node-9100
- SERVICE_9100_TAGS=${HOST_EXPORTER_HOST_SERVICE_9100_TAGS}
- SERVICE_9100_TAGS=${HOST_EXPORTER_NODE_SERVICE_9100_TAGS}
networks:
- public
ports:

View File

@ -1,3 +1,5 @@
ENV_VARS += HOST_FABIO_SERVICE_9998_TAGS
HOST_FABIO_SERVICE_9998_TAGS ?= urlprefix-fabio.${DOMAIN}/
HOST_FABIO_SERVICE_URIS ?= $(patsubst %,fabio.%,$(APP_URIS))
HOST_FABIO_SERVICE_9998_TAGS ?= $(call urlprefix,,$(HOST_FABIO_SERVICE_9998_URIS))
HOST_FABIO_SERVICE_9998_URIS ?= $(HOST_FABIO_SERVICE_URIS)
HOST_FABIO_UFW_UPDATE ?= 80/tcp 443/tcp

View File

@ -92,4 +92,3 @@ host-docker-build-%:
.PHONY: host-docker-rebuild-%
host-docker-rebuild-%:
$(call make,host-docker-build-$* DOCKER_BUILD_CACHE=false)

View File

@ -1,5 +1,8 @@
ENV_VARS += HOST_IPFS_API_HTTPHEADERS_ACA_ORIGIN HOST_IPFS_SERVICE_5001_TAGS HOST_IPFS_SERVICE_8080_TAGS
HOST_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= ["https://ipfs.$(DOMAIN)"]
HOST_IPFS_SERVICE_5001_TAGS ?= urlprefix-ipfs.$(DOMAIN)/api
HOST_IPFS_SERVICE_8080_TAGS ?= urlprefix-ipfs.$(DOMAIN)/,urlprefix-*.ipfs.$(DOMAIN),urlprefix-ipns.$(DOMAIN)/,urlprefix-*.ipns.$(DOMAIN)/
HOST_IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= [$(call patsublist,%,"https://%",$(HOST_IPFS_SERVICE_8080_URIS))]
HOST_IPFS_SERVICE_URIS ?= $(patsubst %,ipfs.%,$(APP_URIS))
HOST_IPFS_SERVICE_5001_TAGS ?= $(call urlprefix,api,$(HOST_IPFS_SERVICE_5001_URIS))
HOST_IPFS_SERVICE_5051_URIS ?= $(HOST_IPFS_SERVICE_URIS)
HOST_IPFS_SERVICE_8080_TAGS ?= $(call urlprefix,,$(HOST_IPFS_SERVICE_8080_URIS))
HOST_IPFS_SERVICE_8080_URIS ?= $(patsubst %,ipfs.%,$(APP_URIS)) $(patsubst %,*.ipfs.%,$(APP_URIS)) $(patsubst %,ipns.%,$(APP_URIS)) $(patsubst %,*.ipns.%,$(APP_URIS))
HOST_IPFS_UFW_DOCKER ?= 4001/tcp 4001/udp 8080

View File

@ -1,2 +1,4 @@
ENV_VARS += HOST_PORTAINER_SERVICE_9000_TAGS
HOST_PORTAINER_SERVICE_9000_TAGS ?= urlprefix-portainer.${DOMAIN}/
HOST_PORTAINER_SERVICE_URIS ?= $(patsubst %,portainer.%,$(APP_URIS))
HOST_PORTAINER_SERVICE_9000_TAGS ?= $(call urlprefix,,$(HOST_PORTAINER_SERVICE_9000_URIS))
HOST_PORTAINER_SERVICE_9000_URIS ?= $(HOST_PORTAINER_SERVICE_URIS)

View File

@ -1,9 +1,12 @@
ENV_VARS += IPFS_API_HTTPHEADERS_ACA_ORIGIN IPFS_DAEMON_ARGS IPFS_PROFILE IPFS_SERVICE_5001_TAGS IPFS_SERVICE_8080_TAGS IPFS_VERSION
IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= ["https://ipfs.$(APP_DOMAIN)","http://ipfs.localhost:8080"]
IPFS_API_HTTPHEADERS_ACA_ORIGIN ?= [$(call patsublist,%,"https://%",$(IPFS_SERVICE_8080_URIS))]
IPFS_PROFILE ?= $(if $(filter-out amd64 x86_64,$(MACHINE)),lowpower,server)
IPFS_SERVICE_5001_TAGS ?= urlprefix-ipfs.$(APP_DOMAIN)/api
IPFS_SERVICE_URIS ?= $(patsubst %,ipfs.%,$(APP_URIS))
IPFS_SERVICE_5001_TAGS ?= $(call urlprefix,api,$(IPFS_SERVICE_5001_URIS))
IPFS_SERVICE_5001_URIS ?= $(IPFS_SERVICE_URIS)
IPFS_SERVICE_8080_CHECK_HTTP ?= /ipfs/QmUNLLsPACCz1vLxQVkXqqLX5R1X345qqfHbsf67hvA3Nn
IPFS_SERVICE_8080_TAGS ?= urlprefix-ipfs.$(APP_DOMAIN)/,urlprefix-*.ipfs.$(APP_DOMAIN),urlprefix-ipns.$(APP_DOMAIN)/,urlprefix-*.ipns.$(APP_DOMAIN)/
IPFS_SERVICE_8080_TAGS ?= $(call urlprefix,,$(IPFS_SERVICE_8080_URIS))
IPFS_SERVICE_8080_URIS ?= $(patsubst %,ipfs.%,$(APP_URIS)) $(patsubst %,*.ipfs.%,$(APP_URIS)) $(patsubst %,ipns.%,$(APP_URIS)) $(patsubst %,*.ipns.%,$(APP_URIS))
IPFS_UFW_DOCKER ?= 4001/tcp 4001/udp 8080
IPFS_VERSION ?= 0.16.0

View File

@ -1,4 +1,4 @@
ENV_VARS += STATIC_SERVICE_80_TAGS
STATIC_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(STATIC_SERVICE_80_URIS))
STATIC_SERVICE_80_URIS ?= $(patsubst %,static.%,$(APP_URIS))
STATIC_SERVICE_URIS ?= $(patsubst %,static.%,$(APP_URIS))
STATIC_SERVICE_80_TAGS ?= $(call urlprefix,,$(STATIC_SERVICE_80_URIS))
STATIC_SERVICE_80_URIS ?= $(STATIC_SERVICE_URIS)

View File

@ -1,3 +1,4 @@
ENV_VARS += PORTAINER_SERVICE_9000_TAGS
PORTAINER_SERVICE_9000_TAGS ?= $(patsubst %,urlprefix-%,$(PORTAINER_SERVICE_9000_URIS))
PORTAINER_SERVICE_9000_URIS ?= $(patsubst %,portainer.%,$(APP_URIS))
PORTAINER_SERVICE_URIS ?= $(patsubst %,portainer.%,$(APP_URIS))
PORTAINER_SERVICE_9000_TAGS ?= $(call urlprefix,,$(PORTAINER_SERVICE_9000_URIS))
PORTAINER_SERVICE_9000_URIS ?= $(PORTAINER_SERVICE_URIS)

View File

@ -1,4 +1,4 @@
ENV_VARS += ALERTMANAGER_SLACK_WEBHOOK_ID ALERTMANAGER_SERVICE_9093_TAGS
ALERTMANAGER_SERVICE_9093_TAGS ?= $(patsubst %,urlprefix-%,$(ALERTMANAGER_SERVICE_9093_URIS))
ALERTMANAGER_SERVICE_9093_URIS ?= $(patsubst %,alertmanager.%,$(APP_URIS))
ALERTMANAGER_SERVICE_URIS ?= $(patsubst %,alertmanager.%,$(APP_URIS))
ALERTMANAGER_SERVICE_9093_TAGS ?= $(call urlprefix,,$(ALERTMANAGER_SERVICE_9093_URIS))
ALERTMANAGER_SERVICE_9093_URIS ?= $(ALERTMANAGER_SERVICE_URIS)

View File

@ -1,6 +1,6 @@
ENV_VARS += BLACKBOX_SERVICE_9115_TAGS
BLACKBOX_PRIMARY_TARGETS ?= $(PROMETHEUS_BLACKBOX_PRIMARY_TARGETS)
BLACKBOX_SECONDARY_TARGETS ?= $(PROMETHEUS_BLACKBOX_SECONDARY_TARGETS)
BLACKBOX_SERVICE_9115_TAGS ?= $(patsubst %,urlprefix-%,$(BLACKBOX_SERVICE_9115_URIS))
BLACKBOX_SERVICE_9115_URIS ?= $(patsubst %,blackbox.%,$(APP_URIS))
BLACKBOX_SERVICE_URIS ?= $(patsubst %,blackbox.%,$(APP_URIS))
BLACKBOX_SERVICE_9115_TAGS ?= $(call urlprefix,,$(BLACKBOX_SERVICE_9115_URIS))
BLACKBOX_SERVICE_9115_URIS ?= $(BLACKBOX_SERVICE_URIS)

View File

@ -1,3 +1,4 @@
ENV_VARS += ES_EXPORTER_SERVICE_9206_TAGS
ES_EXPORTER_SERVICE_9206_TAGS ?= $(patsubst %,urlprefix-%,$(ES_EXPORTER_SERVICE_9206_URIS))
ES_EXPORTER_SERVICE_9206_URIS ?= $(patsubst %,es-exporter.%,$(APP_URIS))
ES_EXPORTER_SERVICE_URIS ?= $(patsubst %,es-exporter.%,$(APP_URIS))
ES_EXPORTER_SERVICE_9206_TAGS ?= $(call urlprefix,,$(ES_EXPORTER_SERVICE_9206_URIS))
ES_EXPORTER_SERVICE_9206_URIS ?= $(ES_EXPORTER_SERVICE_URIS)

View File

@ -1,5 +1,6 @@
ENV_VARS += PROMETHEUS_BLACKBOX_PRIMARY_TARGETS PROMETHEUS_BLACKBOX_SECONDARY_TARGETS PROMETHEUS_SERVICE_9090_TAGS
PROMETHEUS_BLACKBOX_PRIMARY_TARGETS ?= https://$(DOMAIN)
PROMETHEUS_BLACKBOX_PRIMARY_TARGETS ?= $(patsubst %,https://%,$(DOMAIN))
PROMETHEUS_BLACKBOX_SECONDARY_TARGETS ?= $(patsubst %,https://%,$(APP_URIS))
PROMETHEUS_SERVICE_9090_TAGS ?= $(patsubst %,urlprefix-%,$(PROMETHEUS_SERVICE_9090_URIS))
PROMETHEUS_SERVICE_9090_URIS ?= $(patsubst %,alertmanager.%,$(APP_URIS))
PROMETHEUS_SERVICE_URIS ?= $(patsubst %,alertmanager.%,$(APP_URIS))
PROMETHEUS_SERVICE_9090_TAGS ?= $(call urlprefix,,$(PROMETHEUS_SERVICE_9090_URIS))
PROMETHEUS_SERVICE_9090_URIS ?= $(PROMETHEUS_SERVICE_URIS)

View File

@ -1,3 +1,4 @@
ENV_VARS += RABBITMQ_SERVICE_15672_TAGS
RABBITMQ_SERVICE_15672_TAGS ?= $(patsubst %,urlprefix-%,$(RABBITMQ_SERVICE_15672_URIS))
RABBITMQ_SERVICE_15672_URIS ?= $(patsubst %,rabbitmq.%,$(APP_URIS))
RABBITMQ_SERVICE_URIS ?= $(patsubst %,rabbitmq.%,$(APP_URIS))
RABBITMQ_SERVICE_15672_TAGS ?= $(call urlprefix,,$(RABBITMQ_SERVICE_15672_URIS))
RABBITMQ_SERVICE_15672_URIS ?= $(RABBITMQ_SERVICE_URIS)

View File

@ -1,5 +1,6 @@
ENV_VARS += REDMINE_DB_NAME REDMINE_DB_USER REDMINE_SERVICE_80_TAGS
REDMINE_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(REDMINE_SERVICE_80_URIS))
REDMINE_SERVICE_80_URIS ?= $(patsubst %,redmine.%,$(APP_URIS))
REDMINE_SERVICE_URIS ?= $(patsubst %,redmine.%,$(APP_URIS))
REDMINE_SERVICE_80_TAGS ?= $(call urlprefix,,$(REDMINE_SERVICE_80_URIS))
REDMINE_SERVICE_80_URIS ?= $(REDMINE_SERVICE_URIS)
REDMINE_DB_NAME ?= $(COMPOSE_SERVICE_NAME)-redmine
REDMINE_DB_USER ?= $(REDMINE_DB_NAME)

View File

@ -1,6 +1,7 @@
ENV_VARS += REDMINE3_DB_NAME REDMINE3_DB_USER REDMINE3_SERVICE_80_TAGS
REDMINE3_SERVICE_80_TAGS ?= $(patsubst %,urlprefix-%,$(REDMINE3_SERVICE_80_URIS))
REDMINE3_SERVICE_80_URIS ?= $(patsubst %,redmine3.%,$(APP_URIS))
REDMINE3_SERVICE_URIS ?= $(patsubst %,redmine3.%,$(APP_URIS))
REDMINE3_SERVICE_80_TAGS ?= $(call urlprefix,,$(REDMINE3_SERVICE_80_URIS))
REDMINE3_SERVICE_80_URIS ?= $(REDMINE3_SERVICE_URIS)
REDMINE3_DB_NAME ?= $(COMPOSE_SERVICE_NAME)-redmine3
REDMINE3_DB_USER ?= $(REDMINE3_DB_NAME)

View File

@ -1,3 +1,4 @@
ENV_VARS += THEIA_SERVICE_3000_TAGS
THEIA_SERVICE_3000_TAGS ?= $(patsubst %,urlprefix-%,$(THEIA_SERVICE_3000_URIS))
THEIA_SERVICE_3000_URIS ?= $(patsubst %,theai.%,$(APP_URIS))
THEIA_SERVICE_URIS ?= $(patsubst %,theai.%,$(APP_URIS))
THEIA_SERVICE_3000_TAGS ?= $(call urlprefix,,$(THEIA_SERVICE_3000_URIS))
THEIA_SERVICE_3000_URIS ?= $(THEIA_SERVICE_URIS)