diff --git a/databox-build-core b/databox-build-core index 32ff8a8..4c8a113 100755 --- a/databox-build-core +++ b/databox-build-core @@ -25,7 +25,16 @@ build() { echo "[$(datef) $ME]: Starting build ${1} ..." cd $1 - OUTPUT=$(docker build -t $2 -f Dockerfile${DATABOX_ARCH} .) + + DOCKERFILE="" + if [ -z "$3" ] + then + DOCKERFILE="Dockerfile${DATABOX_ARCH}" + else + DOCKERFILE="${3}${DATABOX_ARCH}" + fi + + OUTPUT=$(docker build -t $2 -f ${DOCKERFILE} .) test_assert $? 0 "Build ${1}" "$OUTPUT" cd .. } @@ -36,3 +45,4 @@ build "core-arbiter" "arbiter" build "core-export-service" "export-service" build "core-store" "core-store" build "core-network" "core-network" +build "core-network" "core-network-relay" "Dockerfile-relay" diff --git a/databox-start b/databox-start index d1b64ac..0196721 100755 --- a/databox-start +++ b/databox-start @@ -191,6 +191,14 @@ err "Starting Databox" docker network create -d overlay --attachable databox-system-net +BCAST_FIFO="/tmp/databox_relay" +export BCAST_FIFO=${BCAST_FIFO} +export BCAST_IP=${EXT_IP} + +if [ ! -p "${BCAST_FIFO}" ]; then + mkfifo ${BCAST_FIFO} +fi + docker-compose -f ./docker-core-network.yaml up -d _exec node ./src/createResolvConf.js "$(docker inspect $(docker ps -q --filter="name=databox-network"))" diff --git a/databox-stop b/databox-stop index 7e0f8e0..2c4b28e 100755 --- a/databox-stop +++ b/databox-stop @@ -60,6 +60,8 @@ err "Stopping and Removing databox-bridge ..." docker-compose -f ./docker-core-network.yaml down err "Removing network databox-system-net ..." docker network rm databox-system-net >/dev/null 2>&1 +err "Deleting broadcast relay fifo ..." +rm /tmp/databox_relay err "Waiting ..." sleep 10 # give docker some time to remove the networks etc diff --git a/docker-core-network.yaml b/docker-core-network.yaml index d44a364..1641211 100644 --- a/docker-core-network.yaml +++ b/docker-core-network.yaml @@ -10,9 +10,18 @@ services: volumes: - './certs/arbiterToken-databox-network:/run/secrets/DATABOX_NETWORK_KEY' - './certs/databox-network.pem:/run/secrets/DATABOX_NETWORK.pem' + - '${BCAST_FIFO}:/tmp/relay' + command: ["-f", "/tmp/relay"] cap_add: - NET_ADMIN + databox-broadcast-relay: + image: ${DOCKER_REPO}core-network-relay:${DATABOX_CORE_IMAGE_VERSION} + network_mode: "host" + volumes: + - '${BCAST_FIFO}:/tmp/relay' + command: ["-f", "/tmp/relay", "-h", "${BCAST_IP}"] + networks: databox-system-net: external: true