diff --git a/docker-compose/Makefile b/docker-compose/Makefile index 65de8951a33821b2f06c3b530b11b2f3c1fbc355..693bc26cbe78a45ead288c49ed2929ca7944c920 100644 --- a/docker-compose/Makefile +++ b/docker-compose/Makefile @@ -82,7 +82,7 @@ endif DOCKER_COMPOSE_ARGS := DISPLAY=$(DISPLAY) XAUTHORITY=$(XAUTHORITY) TANGO_HOST=$(TANGO_HOST) \ NETWORK_MODE=$(NETWORK_MODE) XAUTHORITY_MOUNT=$(XAUTHORITY_MOUNT) TANGO_SKA_CONTAINER_MOUNT=$(TANGO_SKA_CONTAINER_MOUNT) TANGO_LOFAR_CONTAINER_MOUNT=$(TANGO_LOFAR_CONTAINER_MOUNT) TANGO_LOFAR_CONTAINER_DIR=${TANGO_LOFAR_CONTAINER_DIR} MYSQL_HOST=$(MYSQL_HOST) \ - CONTAINER_NAME_PREFIX=$(CONTAINER_NAME_PREFIX) COMPOSE_IGNORE_ORPHANS=true + CONTAINER_NAME_PREFIX=$(CONTAINER_NAME_PREFIX) COMPOSE_IGNORE_ORPHANS=true CONTAINER_EXECUTION_UID=$(shell id -u) .PHONY: up down minimal start stop status clean pull help diff --git a/docker-compose/archiver.yml b/docker-compose/archiver.yml index e423c79ead2b599338a89e16311a78c88e1c4d33..38245d4933515d92ec2da41167f2404453e3a957 100644 --- a/docker-compose/archiver.yml +++ b/docker-compose/archiver.yml @@ -67,4 +67,5 @@ services: - ${TANGO_LOFAR_CONTAINER_MOUNT} - ${HOME}:/hosthome - ../docker/tango/tango-archiver:/tango-archiver + restart: on-failure diff --git a/docker-compose/device-pcc.yml b/docker-compose/device-pcc.yml index 73feab180ba03a8a6ae0abc11b89a460341fcf9a..a7c6bad9d1edc07807864b986120f90662b0733a 100644 --- a/docker-compose/device-pcc.yml +++ b/docker-compose/device-pcc.yml @@ -21,6 +21,7 @@ services: - ${TANGO_LOFAR_CONTAINER_MOUNT} environment: - TANGO_HOST=${TANGO_HOST} + user: ${CONTAINER_EXECUTION_UID} entrypoint: - /usr/local/bin/wait-for-it.sh - ${TANGO_HOST} diff --git a/docker-compose/device-sdp.yml b/docker-compose/device-sdp.yml index fd98bfede32634c0ab380a0d2f4fe6fec0096267..653e0d61b8115ade7d1e3587096d6b10ab178377 100644 --- a/docker-compose/device-sdp.yml +++ b/docker-compose/device-sdp.yml @@ -21,6 +21,7 @@ services: - ${TANGO_LOFAR_CONTAINER_MOUNT} environment: - TANGO_HOST=${TANGO_HOST} + user: ${CONTAINER_EXECUTION_UID} entrypoint: - /usr/local/bin/wait-for-it.sh - ${TANGO_HOST} diff --git a/docker-compose/itango.yml b/docker-compose/itango.yml index d131d405371bc6ff7e59892587b2bd2aba9d1fd6..4e1e20ed9f4d8bda0bf1fffa2850ba8d53c9eee1 100644 --- a/docker-compose/itango.yml +++ b/docker-compose/itango.yml @@ -28,6 +28,7 @@ services: - TANGO_HOST=${TANGO_HOST} - XAUTHORITY=${XAUTHORITY} - DISPLAY=${DISPLAY} + user: ${CONTAINER_EXECUTION_UID} stdin_open: true tty: true entrypoint: diff --git a/docker-compose/itango/Dockerfile b/docker-compose/itango/Dockerfile index 3e044037cc333e6042a707ba652b32a32713589d..147ad6f346f8d467dd4c738b8dcd9fd97be6bc14 100644 --- a/docker-compose/itango/Dockerfile +++ b/docker-compose/itango/Dockerfile @@ -8,8 +8,8 @@ RUN sudo apt-get -y update && \ sudo apt-get -y install apt-file apt-transport-https apt-utils aptitude && \ sudo aptitude -y install htop iftop iproute2 mc most net-tools tcpdump telnet tmux traceroute vim xterm && \ sudo aptitude clean && \ - sudo aptitude autoclean && \ - sudo pip3 install "opcua >= 0.98.9" asyncua astropy && \ - sudo pip3 uninstall -y jedi parso && \ - sudo pip3 install "parso == 0.7.1" "jedi == 0.17.2" && \ + sudo aptitude autoclean + +COPY lofar-requirements.txt /lofar-requirements.txt +RUN sudo pip3 install -r /lofar-requirements.txt && \ sudo pip3 cache purge diff --git a/docker-compose/itango/lofar-requirements.txt b/docker-compose/itango/lofar-requirements.txt new file mode 100644 index 0000000000000000000000000000000000000000..375287a0cbc6e4668a1d72162e376194222a834d --- /dev/null +++ b/docker-compose/itango/lofar-requirements.txt @@ -0,0 +1,5 @@ +parso == 0.7.1 +jedi == 0.17.2 +opcua >= 0.98.9 +asyncua +astropy diff --git a/docker-compose/jupyter.yml b/docker-compose/jupyter.yml index b551592959c6524da8e69edbe65cfb76cdbd00ff..71daf48e08afed3ae2ba8c873b216561b9bde213 100644 --- a/docker-compose/jupyter.yml +++ b/docker-compose/jupyter.yml @@ -26,6 +26,7 @@ services: - DISPLAY=${DISPLAY} ports: - "8888:8888" + user: ${CONTAINER_EXECUTION_UID} working_dir: /jupyter-notebooks entrypoint: - /usr/local/bin/wait-for-it.sh diff --git a/docker-compose/jupyter/Dockerfile b/docker-compose/jupyter/Dockerfile index 7e6f7c14db77042df4c9de9a72f55232496f2d8e..b9812188296627e9a5e2662007efa71ff78da90e 100644 --- a/docker-compose/jupyter/Dockerfile +++ b/docker-compose/jupyter/Dockerfile @@ -8,8 +8,8 @@ RUN sudo pip3 install jupyter_bokeh # Configure jupyter_bokeh RUN sudo mkdir -p /usr/share/jupyter /usr/etc RUN sudo chmod a+rwx /usr/share/jupyter /usr/etc -RUN jupyter nbextension install --sys-prefix --symlink --py jupyter_bokeh -RUN jupyter nbextension enable jupyter_bokeh --py --sys-prefix +RUN sudo jupyter nbextension install --sys-prefix --symlink --py jupyter_bokeh +RUN sudo jupyter nbextension enable jupyter_bokeh --py --sys-prefix # Install profiles for ipython & jupyter COPY ipython-profiles /opt/ipython-profiles/ @@ -22,5 +22,6 @@ COPY jupyter-notebook /usr/local/bin/jupyter-notebook # Add Tini. Tini operates as a process subreaper for jupyter. This prevents kernel crashes. ENV TINI_VERSION v0.6.0 +ENV JUPYTER_RUNTIME_DIR=/tmp ADD https://github.com/krallin/tini/releases/download/${TINI_VERSION}/tini /usr/bin/tini RUN sudo chmod +x /usr/bin/tini diff --git a/docker-compose/lofar-device-base/Dockerfile b/docker-compose/lofar-device-base/Dockerfile index 2f00d2316b5fac5911c6e26652875eebb37a9100..85326698052c8e9e48b1270377a513e3dbcda5d3 100644 --- a/docker-compose/lofar-device-base/Dockerfile +++ b/docker-compose/lofar-device-base/Dockerfile @@ -1,7 +1,7 @@ FROM nexus.engageska-portugal.pt/ska-docker/tango-itango:latest COPY lofar-requirements.txt /lofar-requirements.txt -RUN pip3 install -r /lofar-requirements.txt +RUN sudo pip3 install -r /lofar-requirements.txt ENV TANGO_LOG_PATH=/var/log/tango RUN sudo mkdir -p /var/log/tango && sudo chmod a+rwx /var/log/tango