diff --git a/docker-compose/Makefile b/docker-compose/Makefile index 307e7c0e609fd20a4d78a5353490f95ed6dc0a7f..09eb760123bc4687207609c3ad94c740a72c317c 100644 --- a/docker-compose/Makefile +++ b/docker-compose/Makefile @@ -21,6 +21,9 @@ ATTACH_COMPOSE_FILE_ARGS := $(foreach yml,$(filter-out tango.yml,$(COMPOSE_FILES # But we allow to overwrite it. NETWORK_MODE ?= tangonet +# Host name through which others can reach our control interfaces +HOSTNAME ?= $(shell hostname -f) + # If the first make argument is "start" or "stop"... ifeq (start,$(firstword $(MAKECMDGOALS))) SERVICE_TARGET = true @@ -105,6 +108,7 @@ endif DOCKER_COMPOSE_ARGS := DISPLAY=$(DISPLAY) \ XAUTHORITY=$(XAUTHORITY) \ TANGO_HOST=$(TANGO_HOST) \ + HOSTNAME=$(HOSTNAME) \ NETWORK_MODE=$(NETWORK_MODE) \ XAUTHORITY_MOUNT=$(XAUTHORITY_MOUNT) \ TANGO_LOFAR_CONTAINER_MOUNT=$(TANGO_LOFAR_CONTAINER_MOUNT) \ diff --git a/docker-compose/device-pcc.yml b/docker-compose/device-pcc.yml index 3dc69f20b7aa7a670ed9a7b1e17cb3032b849957..ebf71352df76969e879a5d73f022705a202ab925 100644 --- a/docker-compose/device-pcc.yml +++ b/docker-compose/device-pcc.yml @@ -24,6 +24,8 @@ services: container_name: ${CONTAINER_NAME_PREFIX}device-pcc networks: - control + ports: + - "5700:5700" # unique port for this DS volumes: - ${TANGO_LOFAR_CONTAINER_MOUNT} environment: @@ -34,5 +36,7 @@ services: - --timeout=30 - --strict - -- - - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/pcc.py LTS -v + # configure CORBA to _listen_ on 0:port, but tell others we're _reachable_ through ${HOSTNAME}:port, since CORBA + # can't know about our Docker port forwarding + - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/pcc.py LTS -v -ORBendPoint giop:tcp:0:5700 -ORBendPointPublish giop:tcp:${HOSTNAME}:5700 restart: on-failure diff --git a/docker-compose/device-sdp.yml b/docker-compose/device-sdp.yml index 27d6a33cf94985f18bcbcaafe21078aa7aa92e36..a65bb8ae3e3111ad6c2954b44b9c20a6e8085321 100644 --- a/docker-compose/device-sdp.yml +++ b/docker-compose/device-sdp.yml @@ -24,6 +24,8 @@ services: container_name: ${CONTAINER_NAME_PREFIX}device-sdp networks: - control + ports: + - "5701:5701" # unique port for this DS volumes: - ${TANGO_LOFAR_CONTAINER_MOUNT} environment: @@ -34,5 +36,7 @@ services: - --timeout=30 - --strict - -- - - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/sdp/sdp.py LTS -v + # configure CORBA to _listen_ on 0:port, but tell others we're _reachable_ through ${HOSTNAME}:port, since CORBA + # can't know about our Docker port forwarding + - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/sdp/sdp.py LTS -v -ORBendPoint giop:tcp:0:5701 -ORBendPointPublish giop:tcp:${HOSTNAME}:5701 restart: on-failure diff --git a/docker-compose/device-sst.yml b/docker-compose/device-sst.yml index 7a669cf0a67aea39474f567364b7cf307ecdb558..c620ba206b6091b1544582e62128575fc231b03c 100644 --- a/docker-compose/device-sst.yml +++ b/docker-compose/device-sst.yml @@ -26,7 +26,8 @@ services: - control - data ports: - - 5001:5001/udp + - "5001:5001/udp" # port to receive SST UDP packets on + - "5702:5702" # unique port for this DS volumes: - ${TANGO_LOFAR_CONTAINER_MOUNT} environment: @@ -37,5 +38,7 @@ services: - --timeout=30 - --strict - -- - - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/sdp/sst.py LTS -v + # configure CORBA to _listen_ on 0:port, but tell others we're _reachable_ through ${HOSTNAME}:port, since CORBA + # can't know about our Docker port forwarding + - python3 -u ${TANGO_LOFAR_CONTAINER_DIR}/devices/devices/sdp/sst.py LTS -v -ORBendPoint giop:tcp:0:5702 -ORBendPointPublish giop:tcp:${HOSTNAME}:5702 restart: on-failure