diff --git a/docker/consul/docker-healthcheck b/docker/consul/docker-healthcheck index 7d6fbd0..892f5bf 100755 --- a/docker/consul/docker-healthcheck +++ b/docker/consul/docker-healthcheck @@ -24,7 +24,7 @@ fi for docker in $(curl --disable --fail --show-error --silent --unix-socket "${DOCKER_SOCK}" http://localhost/containers/json |jq -r '.[].Id'); do # print "health_status id name ip_address health_output" for each docker curl --disable --fail --show-error --silent --unix-socket "${DOCKER_SOCK}" "http://localhost/containers/${docker}/json" \ - |jq -r '[.State.Health.Status, .Id, .Name, .NetworkSettings.IPAddress, .State.Health.Log[0].Output] |@tsv' + |jq -r '[.State.Health.Status, .Id, .Name, .NetworkSettings.Networks[].IPAddress, .State.Health.Log[0].Output] |@tsv' # shorten id: .Id |capture("(?.{12})").id # print "health_status" and "health_output" for line matching $1 done |awk -F '\t' '/\<'"$1"'\>/ {print $1 | "cat >&3; exec 3>&-"; print $NF | "cat >&4";}' diff --git a/make/apps/def.mk b/make/apps/def.mk index 03fb71d..eaaf0d3 100644 --- a/make/apps/def.mk +++ b/make/apps/def.mk @@ -4,7 +4,7 @@ APP_DOMAIN ?= $(patsubst %,$(APP_DOMAIN_PREFIX)%,$(DOMAIN)) APP_DOMAIN_PREFIX ?= $(if $(HOST_STACK),,$(if $(filter true,$(APP_HOST_MULTI_USER)),$(USER).)) APP_HOST ?= $(patsubst %,$(APP_HOST_PREFIX)%,$(if $(filter true,$(APP_HOST_MULTI_APP)),$(APP_NAME).)$(APP_DOMAIN))$(if $(HOST_STACK),$(if $(HOST_LB),$(space)$(DOMAIN))) APP_HOST_PREFIX ?= $(addsuffix .,$(if $(HOST_STACK),$(HOSTNAME),$(if $(filter true,$(APP_HOST_MULTI_ENV)),$(ENV)))) -APP_HOST_MULTI_APP ?= true +APP_HOST_MULTI_APP ?= false APP_HOST_MULTI_ENV ?= $(if $(filter-out local master main,$(ENV)),true) APP_HOST_MULTI_USER ?= false APP_INSTALLED ?= $(APPS) diff --git a/make/def.docker.mk b/make/def.docker.mk index a578f46..37e238c 100644 --- a/make/def.docker.mk +++ b/make/def.docker.mk @@ -36,6 +36,7 @@ HOST_STACK ?= $(filter host,$(firstword $(subst /, ,$(STACK MYOS_STACK ?= $(MYOS)/stack/myos MYOS_STACK_FILE ?= networks volumes RESU_DOCKER_REPOSITORY ?= $(subst -,/,$(USER_COMPOSE_PROJECT_NAME)) +STACK ?= $(APP) USER_COMPOSE_PROJECT_NAME ?= $(subst .,-,$(RESU)) USER_COMPOSE_SERVICE_NAME ?= $(USER_COMPOSE_PROJECT_NAME) USER_DOCKER_IMAGE ?= $(USER_DOCKER_REPOSITORY):${DOCKER_IMAGE_TAG} diff --git a/stack/duniter/v2s.mk b/stack/duniter/v2s.mk index 8a16dfa..e5a9593 100644 --- a/stack/duniter/v2s.mk +++ b/stack/duniter/v2s.mk @@ -1,10 +1,8 @@ -ENV_VARS += DUNITER_UI_SERVICE_80_TAGS DUNITER_UI_WS_URL DUNITER_V2S_DUNITER_CHAIN_NAME DUNITER_V2S_DUNITER_NODE_NAME DUNITER_V2S_DUNITER_PUBLIC_ADDR DUNITER_V2S_DUNITER_PUBLIC_RPC DUNITER_V2S_DUNITER_PRUNING_PROFILE DUNITER_V2S_SERVICE_9615_TAGS DUNITER_V2S_SERVICE_9933_TAGS DUNITER_V2S_SERVICE_9944_TAGS DUNITER_V2S_SERVICE_30333_TAGS +ENV_VARS += DUNITER_UI_SERVICE_80_TAGS DUNITER_UI_WS_URL DUNITER_V2S_DUNITER_CHAIN_NAME DUNITER_V2S_DUNITER_NODE_NAME DUNITER_V2S_DUNITER_PUBLIC_ADDR DUNITER_V2S_DUNITER_PUBLIC_RPC DUNITER_V2S_DUNITER_PRUNING_PROFILE DUNITER_V2S_SERVICE_9615_TAGS DUNITER_V2S_SERVICE_9944_TAGS DUNITER_UI_SERVICE_NAME ?= $(DUNITER_V2S_SERVICE_NAME) -DUNITER_UI_SERVICE_80_PATH ?= ui/ -DUNITER_UI_SERVICE_80_STRIP ?= /ui DUNITER_UI_SERVICE_80_TAGS ?= $(call tagprefix,DUNITER_UI,80) DUNITER_UI_WS_URL ?= $(DUNITER_V2S_DUNITER_PUBLIC_RPC) -DUNITER_V2S_DUNITER_CHAIN_NAME ?= gdev +DUNITER_V2S_DUNITER_CHAIN_NAME ?= gtest DUNITER_V2S_DUNITER_NODE_NAME ?= $(USER)-$(DUNITER_V2S_DUNITER_CHAIN_NAME)-$(DUNITER_V2S_DUNITER_PRUNING_PROFILE) DUNITER_V2S_DUNITER_PUBLIC_ADDR ?= /dns/$(DUNITER_V2S_SERVICE_HOST)/tcp/443/wss DUNITER_V2S_DUNITER_PRUNING_PROFILE ?= default @@ -18,4 +16,3 @@ DUNITER_V2S_SERVICE_9933_PATH ?= http/ DUNITER_V2S_SERVICE_9933_TAGS ?= $(call tagprefix,DUNITER_V2S,9933) DUNITER_V2S_SERVICE_9944_PATH ?= ws/ DUNITER_V2S_SERVICE_9944_TAGS ?= $(call tagprefix,DUNITER_V2S,9944) -DUNITER_V2S_SERVICE_30333_TAGS ?= $(call tagprefix,DUNITER_V2S,30333) diff --git a/stack/duniter/v2s.yml b/stack/duniter/v2s.yml index 40d9916..88320d9 100644 --- a/stack/duniter/v2s.yml +++ b/stack/duniter/v2s.yml @@ -5,73 +5,70 @@ version: "3.5" services: -# duniter-oracle: -# entrypoint: docker-distance-entrypoint -# environment: -# ORACLE_RPC_URL: "ws://duniter-v2s:9944" -# ORACLE_RESULT_DIR: "/var/lib/duniter/chains/${DUNITER_V2S_DUNITER_CHAIN_NAME:-gdev}/distance/" -# ORACLE_EXECUTION_INTERVAL: "1800" -# ORACLE_MAX_DEPTH: "5" -# ORACLE_LOG_LEVEL: "info" -# image: duniter/duniter-v2s-gdev:latest -# networks: -# - private -# restart: always -# volumes: -# - duniter-v2s-data:/var/lib/duniter - - duniter-ui: + oracle: + entrypoint: docker-distance-entrypoint environment: - - WS_URL=${DUNITER_UI_WS_URL:-ws://duniter-v2s:9944} - image: jacogr/polkadot-js-apps:latest + ORACLE_RPC_URL: "ws://v2s:9944" + ORACLE_RESULT_DIR: "/var/lib/duniter/chains/${DUNITER_V2S_DUNITER_CHAIN_NAME:-gtest}/distance/" + ORACLE_EXECUTION_INTERVAL: "1800" + ORACLE_MAX_DEPTH: "5" + ORACLE_LOG_LEVEL: "info" + image: duniter/duniter-v2s-gtest-1100:1000-0.12.0-amd64 + labels: + - SERVICE_9615_IGNORE=true + - SERVICE_9944_IGNORE=true + - SERVICE_30333_IGNORE=true + networks: + - private + restart: always + volumes: + - v2s-data:/var/lib/duniter + + ui: + environment: + - WS_URL=${DUNITER_UI_WS_URL:-ws://v2s:9944} + image: duniter/duniter-portal:latest labels: - SERVICE_80_CHECK_HTTP=${DUNITER_UI_SERVICE_80_CHECK_HTTP:-/} - - SERVICE_80_NAME=${COMPOSE_SERVICE_NAME}-duniter-ui-80 - - SERVICE_80_TAGS=${DUNITER_UI_SERVICE_80_TAGS:-urlprefix-gdev.localhost/ui/*} + - SERVICE_80_NAME=${COMPOSE_SERVICE_NAME}-ui-80 + - SERVICE_80_TAGS=${DUNITER_UI_SERVICE_80_TAGS:-urlprefix-gtest.localhost/*} networks: - private ports: - 80 restart: always - duniter-v2s: + v2s: environment: - - DUNITER_CHAIN_NAME=${DUNITER_V2S_DUNITER_CHAIN_NAME:-gdev} + - DUNITER_CHAIN_NAME=${DUNITER_V2S_DUNITER_CHAIN_NAME:-gtest} - DUNITER_LISTEN_ADDR=${DUNITER_V2S_DUNITER_LISTEN_ADDR:-/ip4/0.0.0.0/tcp/30333/ws} - - DUNITER_NODE_NAME=${DUNITER_V2S_DUNITER_NODE_NAME:-duniter_local} + - DUNITER_NODE_NAME=${DUNITER_V2S_DUNITER_NODE_NAME:-duniter_gtest_local} - DUNITER_PRUNING_PROFILE=${DUNITER_V2S_DUNITER_PRUNING_PROFILE:-default} - - DUNITER_PUBLIC_ADDR=${DUNITER_V2S_DUNITER_PUBLIC_ADDR:-/dns/duniter-v2s/tcp/30333/ws} + - DUNITER_PUBLIC_ADDR=${DUNITER_V2S_DUNITER_PUBLIC_ADDR:-/dns/duniter.localhost/tcp/30333/ws} - DUNITER_PUBLIC_RPC=${DUNITER_V2S_DUNITER_PUBLIC_RPC:-} - DUNITER_VALIDATOR=${DUNITER_V2S_DUNITER_VALIDATOR:-false} - image: duniter/duniter-v2s-gdev-800:900-0.9.2 + image: duniter/duniter-v2s-gtest-1100:1000-0.12.0-amd64 labels: -# - SERVICE_9615_CHECK_HTTP=${DUNITER_V2S_SERVICE_9615_CHECK_HTTP:-/} -# - SERVICE_9615_NAME=${COMPOSE_SERVICE_NAME}-duniter-v2s-9615 -# - SERVICE_9615_TAGS=${DUNITER_V2S_SERVICE_9615_TAGS:-urlprefix-gdev.localhost/metrics/*} -# - SERVICE_9933_CHECK_HTTP=${DUNITER_V2S_SERVICE_9933_CHECK_HTTP:-/} -# - SERVICE_9933_CHECK_HTTP_METHOD=${DUNITER_V2S_SERVICE_9933_CHECK_HTTP_METHOD:-POST} -# - SERVICE_9933_NAME=${COMPOSE_SERVICE_NAME}-duniter-v2s-9933 -# - SERVICE_9933_TAGS=${DUNITER_V2S_SERVICE_9933_TAGS:-urlprefix-gdev.localhost/http/*} + - SERVICE_9615_CHECK_TCP=true + - SERVICE_9615_NAME=${COMPOSE_SERVICE_NAME}-v2s-9615 + - SERVICE_9615_TAGS=${DUNITER_V2S_SERVICE_9615_TAGS:-urlprefix-gtest.localhost/metrics/*} - SERVICE_9944_CHECK_TCP=true - - SERVICE_9944_NAME=${COMPOSE_SERVICE_NAME}-duniter-v2s-9944 - - SERVICE_9944_TAGS=${DUNITER_V2S_SERVICE_9944_TAGS:-urlprefix-gdev.localhost/ws/*} + - SERVICE_9944_NAME=${COMPOSE_SERVICE_NAME}-v2s-9944 + - SERVICE_9944_TAGS=${DUNITER_V2S_SERVICE_9944_TAGS:-urlprefix-gtest.localhost/ws/*} - SERVICE_30333_CHECK_TCP=true - - SERVICE_30333_NAME=${COMPOSE_SERVICE_NAME}-duniter-v2s-30333 - - SERVICE_30333_TAGS=${DUNITER_V2S_SERVICE_30333_TAGS:-urlprefix-gdev.localhost/*} + - SERVICE_30333_NAME=${COMPOSE_SERVICE_NAME}-v2s-30333 networks: - private ports: # telemetry - 9615 - # rpc - - 9933 # rpc-ws - 9944 # p2p - 30333 volumes: - - duniter-v2s-data:/var/lib/duniter + - v2s-data:/var/lib/duniter restart: always volumes: - duniter-v2s-data: + v2s-data: diff --git a/stack/mysql/mysql.yml b/stack/mysql/mysql.yml index 4237bf6..b6acc7c 100644 --- a/stack/mysql/mysql.yml +++ b/stack/mysql/mysql.yml @@ -6,7 +6,9 @@ services: - MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD:-root} labels: - SERVICE_3306_NAME=${COMPOSE_SERVICE_NAME}-mysql-3306 - - SERVICE_CHECK_SCRIPT=docker-healthcheck $$SERVICE_IP + - SERVICE_3306_CHECK_TCP=true + - SERVICE_33060_IGNORE=true +# - SERVICE_CHECK_SCRIPT=docker-healthcheck $$SERVICE_IP networks: - private ports: