File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11#! /usr/bin/bash -l
2+ < % is_sofia = OodAppkit.clusters.any? { | c| c.id.to_s == " sofia" } %>
3+ DATA_DIR=" <%= is_sofia ? '$HOME ' : '$VSC_DATA ' %>"
24
35< %= ERB.new(File.read(' ../common_files/work_directory_change.sh.erb' ), eoutvar: ' child' ).result(binding) %>
46
@@ -8,15 +10,17 @@ echo "TIMING - Starting main script at: $(date)"
810# Make symlinks for ~/.vscode and ~/.vscode-server
911for dir in .vscode .vscode-server; do
1012 if [[ ! -e ~ /" $dir " ]]; then
11- mkdir -v -p " $VSC_DATA /$dir "
12- ln -v -s " $VSC_DATA /$dir " ~ /" $dir "
13+ mkdir -v -p " $DATA_DIR /$dir "
14+ < % unless is_sofia %>
15+ ln -v -s " $DATA_DIR /$dir " ~ /" $dir " # already at $HOME on sofia
16+ < % end %>
1317 fi
1418done
1519
1620module load code-server
1721
18- extensions_dir=" ${VSC_DATA } /.config/code-server/extensions"
19- data_dir=" ${VSC_DATA } /.config/code-server/data"
22+ extensions_dir=" ${DATA_DIR } /.config/code-server/extensions"
23+ data_dir=" ${DATA_DIR } /.config/code-server/data"
2024
2125mkdir -p " $extensions_dir "
2226mkdir -p " $data_dir "
Original file line number Diff line number Diff line change 11#! /bin/bash
2+ < % is_sofia = OodAppkit.clusters.any? { | c| c.id.to_s == " sofia" } %>
3+ DATA_DIR=" <%= is_sofia ? '$HOME ' : '$VSC_DATA ' %>"
24
35# Make symlinks for ~/.vscode and ~/.vscode-server
46for dir in .vscode .vscode-server; do
57 if [[ ! -e ~ /" $dir " ]]; then
6- mkdir -v -p " $VSC_DATA /$dir "
7- ln -v -s " $VSC_DATA /$dir " ~ /" $dir "
8+ mkdir -v -p " $DATA_DIR /$dir "
9+ < % unless is_sofia %>
10+ ln -v -s " $DATA_DIR /$dir " ~ /" $dir " # already at $HOME on sofia
11+ < % end %>
812 fi
913done
1014
@@ -27,6 +31,7 @@ custom="$confdir/custom.conf"
2731cat > $custom << EOF
2832new-session -d -s $TSES
2933set -g status off #NOTE: this will disable the status bar (green text in the bottom)
34+ pipe-pane -o -t $TSES 'cat >> $OOD_SESSION_STAGED_ROOT /tunnel_session.log'
3035EOF
3136
3237IFS=$' \n ' # set the Internal Field Separator to newline
Original file line number Diff line number Diff line change 11export VSCODE_CLI_USE_FILE_KEYCHAIN=1
22reset
33echo
4- echo "Copy the device code, open the url and paste it to create the tunnel vsc-$USER-$(hostname -d | sed 's/.os$//') "
4+ echo "Copy the device code, open the url and paste it to create the tunnel vsc-$USER-$VSC_INSTITUTE_CLUSTER "
55echo
6- code tunnel --accept-server-license-terms --name vsc-$USER-$(hostname -d | sed "s/.os$//")
6+ code tunnel --accept-server-license-terms --name vsc-$USER-$VSC_INSTITUTE_CLUSTER
Original file line number Diff line number Diff line change @@ -7,9 +7,11 @@ attributes:
77 widget: "select"
88 options:
99 - ["2025a: RStudio-Server/2025.09.2+418 + R/4.5.1", "2025a"]
10+ <% unless is_sofia %>
1011 - ["2024a: RStudio-Server/2024.12.0+467 + R/4.4.2", "2024a"]
1112 - ["2023a: RStudio-Server/2023.12.1+402 + R/4.3.2", "2023a"]
1213 - ["2022a: RStudio-Server/2022.07.2+576 + R/4.2.1", "2022a"]
14+ <% end %>
1315 help: |
1416 R-bundle-CRAN and R-bundle-Bioconductor are loaded by default.
1517 clean_workspace:
Original file line number Diff line number Diff line change 11#! /usr/bin/bash -l
2-
2+ < % is_sofia = OodAppkit.clusters.any ? { | c | c.id.to_s == " sofia " } % >
33< %= ERB.new(File.read(' ../common_files/work_directory_change.sh.erb' ), eoutvar: ' child' ).result(binding) %>
44
55# Benchmark info
66echo " TIMING - Starting main script at: $( date) "
77
88# Set XDG_DATA_HOME to redirect the rstudio cache
99if [[ -z " $XDG_DATA_HOME " ]]; then
10- export XDG_DATA_HOME=" $ VSC_DATA /.local/share"
10+ export XDG_DATA_HOME=" <%= is_sofia ? ' $HOME ' : ' $ VSC_DATA' %> /.local/share"
1111 echo " setting XDG_DATA_HOME=$XDG_DATA_HOME "
1212fi
1313
Original file line number Diff line number Diff line change 55# Benchmark info
66echo " TIMING - Starting main script at: $( date) "
77
8- # Set VGL_DISPLAY to a GPU card if available, otherwise to Mesa llvmpipe
9- < %= ERB.new(File.read(' ../common_files/oodegl.sh.erb' ), eoutvar: ' child' ).result(binding) %>
10-
118< %- unless context.global_prerun.empty? -%>
129< %= context.global_prerun.gsub(" \r" , " " ) %>
1310< %- end -%>
@@ -23,9 +20,13 @@ if [ -e $xfce_container ]; then
2320 --bind /run/munge \
2421 $xfce_container \
2522 bash -s << 'END '
23+ # Set VGL_DISPLAY to a GPU card if available, otherwise to Mesa llvmpipe
24+ <%= ERB.new(File.read('../common_files/oodegl.sh.erb'), eoutvar: 'child').result(binding) %>
2625<%= ERB.new(File.read("../common_files/desktops/#{context.desktop}.sh.erb"), eoutvar: 'child').result(binding) %>
2726END
2827else
28+ # Set VGL_DISPLAY to a GPU card if available, otherwise to Mesa llvmpipe
29+ < %= ERB.new(File.read(' ../common_files/oodegl.sh.erb' ), eoutvar: ' child' ).result(binding) %>
2930< %= ERB.new(File.read(" ../common_files/desktops/#{context.desktop}.sh.erb" ), eoutvar: ' child' ).result(binding) %>
3031fi
3132
Original file line number Diff line number Diff line change @@ -15,8 +15,9 @@ if [ -n "$PUNUSER" ]; then
1515 # This only stops pun startup. Pre-existing puns should be cleaned in <2 hours via cron.
1616 logger -- "Checking whether $PUNUSER is in bsofia_projects and pun should be started"
1717 if [[ "$1" == "pun" ]] && ! id -Gn "$PUNUSER" 2>/dev/null | grep -qw 'bsofia_projects'; then
18- echo "Access denied: $PUNUSER is not authorized to use this system." >&2
19- echo "User $PUNUSER is not part of the bsofia_projects group." >&2
18+ echo "Access denied: $PUNUSER is not a member of an active Tier-1 compute project on sofia." >&2
19+ echo "Note that access to sofia is managed through the VSC hub, not the account.vscentrum.be account page." >&2
20+ echo "See https://docs.vscentrum.be/brussel/tier1_sofia.html#getting-access for how to request or join a project." >&2
2021 echo "Please contact the support team (support@vscentrum.be) if you believe this is an error." >&2
2122 exit 1
2223 fi
Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ install -Dpm644 %{_datadir}/ondemand-vub/%1/ondemand.d/general_options.yml %{_sy
1010
1111Summary: Scripts, customizations and tools for Open OnDemand
1212Name: ondemand-vub
13- Version: 2.53
13+ Version: 2.55
1414Release: 1
1515BuildArch: noarch
1616License: GPL
@@ -103,8 +103,13 @@ chmod 0750 %{_localstatedir}/www/ood/apps/sys/abaqus
103103chmod 0000 %{_localstatedir }/www/ood/apps/sys/abaqus
104104
105105%changelog
106- * Mon Jul 13 2026 Jarne Renders <jarne.thijs.renders@vub.be>
106+ * Thu Jul 63 2026 Jarne Renders <jarne.thijs.renders@vub.be>
107107- Adapt slicer app for sofia
108+ * Thu Jul 16 2026 Jarne Renders <jarne.thijs.renders@vub.be>
109+ - Improve sofia access denied message with VSC hub instructions
110+ * Mon Jul 13 2026 Jarne Renders <jarne.thijs.renders@vub.be>
111+ - Adapt rstudio, code-tunnel and code-server apps for sofia
112+ - Add better logging for code-tunnel
108113* Mon Jul 13 2026 Jarne Renders <jarne.thijs.renders@vub.be>
109114- Load oodegl.sh inside VNC container on sofia
110115* Mon Jul 06 2026 Jarne Renders <jarne.thijs.renders@vub.be>
You can’t perform that action at this time.
0 commit comments