diff --git a/ansible/group_vars/all b/ansible/group_vars/all index 09181da..0284581 100644 --- a/ansible/group_vars/all +++ b/ansible/group_vars/all @@ -52,6 +52,10 @@ common_modules: "{{ modules_dir }}/common" admin_group: "idia-admins" +# SSH jump host printed in the connection instructions of interactive containers +# (RStudio, PopGen). Override with -e login_host=... or in the inventory. +login_host: "slurm.ilifu.ac.za" + # 4.4.1 is built --without-suid (see roles/compiled/tasks/common/singularity.yaml); # 4.1.0 still ships a setuid starter-suid. Note 4.4.2 is registered in # roles/compiled/tasks/common/main.yml but is not yet installed on /software. diff --git a/ansible/roles/containers/tasks/common/main.yml b/ansible/roles/containers/tasks/common/main.yml index 8a31b4a..142b14b 100644 --- a/ansible/roles/containers/tasks/common/main.yml +++ b/ansible/roles/containers/tasks/common/main.yml @@ -34,6 +34,11 @@ rstudio_deb_release: jammy r_version: 4.6.1 rstudio_version: 2026.07.1-147 + - base_container_name: ubuntu-noble-compile + base_container_version_name: noble + rstudio_deb_release: jammy + r_version: 4.6.1 + rstudio_version: 2026.09.0-174 ansible.builtin.include_tasks: file: RStudio.yaml loop: "{{ rstudio_versions }}" diff --git a/ansible/roles/containers/templates/bio/PopGen.def b/ansible/roles/containers/templates/bio/PopGen.def index 62ba78e..1ebb27b 100644 --- a/ansible/roles/containers/templates/bio/PopGen.def +++ b/ansible/roles/containers/templates/bio/PopGen.def @@ -23,7 +23,7 @@ From: {{ base_container_image }} HOST=$( /bin/hostname ) echo "Running rserver on port ${PORT}" echo "To connect to this server run this on your local machine:" - echo " ssh -A ${USER}@${HOST} -o \"ProxyCommand=ssh ${USER}@slurm.ilifu.ac.za nc ${HOST} 22\" -L8081:localhost:${PORT}" + echo " ssh -A ${USER}@${HOST} -o \"ProxyCommand=ssh ${USER}@{{ login_host }} nc ${HOST} 22\" -L8081:localhost:${PORT}" echo "then vist http://localhost:8081 in your browser and use the username \"${USER}\" to login with the password \"${RSTUDIO_PASSWORD}\"" echo "(You may need to choose a different port (other than 8081), so remember to change this in both the ssh and browser)" exec rserver --auth-none 0 --auth-pam-helper rstudio_auth --secure-cookie-key-file /tmp/rstudio-server-${USER}/secure-cookie.key --www-port ${PORT} "${@}" @@ -70,7 +70,7 @@ From: {{ base_container_image }} HOST=$( /bin/hostname ) echo "Running rserver on port ${PORT}" echo "To connect to this server run this on your local machine:" - echo " ssh -A ${USER}@${HOST} -o \"ProxyCommand=ssh ${USER}@slurm.ilifu.ac.za nc ${HOST} 22\" -L8081:localhost:${PORT}" + echo " ssh -A ${USER}@${HOST} -o \"ProxyCommand=ssh ${USER}@{{ login_host }} nc ${HOST} 22\" -L8081:localhost:${PORT}" echo "then vist http://localhost:8081 in your browser and use the username \"${USER}\" to login with the password \"${RSTUDIO_PASSWORD}\"" echo "(You may need to choose a different port (other than 8081), so remember to change this in both the ssh and browser)" exec rserver --auth-none 0 --auth-pam-helper rstudio_auth --secure-cookie-key-file /tmp/rstudio-server-${USER}/secure-cookie.key --www-port ${PORT} "${@}" diff --git a/ansible/roles/containers/templates/common/RStudio.def b/ansible/roles/containers/templates/common/RStudio.def index 7cd93d5..89eb2f9 100644 --- a/ansible/roles/containers/templates/common/RStudio.def +++ b/ansible/roles/containers/templates/common/RStudio.def @@ -24,7 +24,7 @@ From: {{ base_container_image }} HOST=$( /bin/hostname ) echo "Running rserver on port ${PORT}" echo "To connect to this server run this on your local machine:" - echo " ssh -A ${USER}@${HOST} -o \"ProxyCommand=ssh ${USER}@slurm.ilifu.ac.za nc ${HOST} 22\" -L8081:localhost:${PORT}" + echo " ssh -A ${USER}@${HOST} -o \"ProxyCommand=ssh ${USER}@{{ login_host }} nc ${HOST} 22\" -L8081:localhost:${PORT}" echo "then visit http://localhost:8081 in your browser and use the username \"${USER}\" to login with the password \"${RSTUDIO_PASSWORD}\"" echo "(You may need to choose a different port (other than 8081), so remember to change this in both the ssh and browser)" exec rserver --server-user ${USER} --auth-none 0 --auth-pam-helper rstudio_auth --secure-cookie-key-file ${HOME}/.RStudio.rserver/secure-cookie.key --www-port ${PORT} --server-data-dir ${HOME}/.RStudio.rserver/data "${@}" @@ -38,7 +38,7 @@ From: {{ base_container_image }} HOST=$( /bin/hostname ) echo "Running rserver on port ${PORT}" echo "To connect to this server run this on your local machine:" - echo " ssh -A ${USER}@${HOST} -o \"ProxyCommand=ssh ${USER}@slurm.ilifu.ac.za nc ${HOST} 22\" -L8081:localhost:${PORT}" + echo " ssh -A ${USER}@${HOST} -o \"ProxyCommand=ssh ${USER}@{{ login_host }} nc ${HOST} 22\" -L8081:localhost:${PORT}" echo "then visit http://localhost:8081 in your browser and use the username \"${USER}\" to login with the password \"${RSTUDIO_PASSWORD}\"" echo "(You may need to choose a different port (other than 8081), so remember to change this in both the ssh and browser)" exec rserver --server-user ${USER} --auth-none 0 --auth-pam-helper rstudio_auth --secure-cookie-key-file ${HOME}/.RStudio.rserver/secure-cookie.key --www-port ${PORT} --server-data-dir ${HOME}/.RStudio.rserver/data "${@}" @@ -118,6 +118,7 @@ From: {{ base_container_image }} libssl-dev \ libtiff5-dev \ libuv1-dev \ + libwebp-dev \ libxml2-dev \ libxt-dev \ netcdf-bin \