diff --git a/roles/shinyproxy/files/eci-users/proxer/application.in.yml b/roles/shinyproxy/files/eci-users/proxer/application.in.yml index bff07ba5352aba641293b67b34da3b5a74d6dac2..9c5aa8a8b0a0e2e8751e37ed73aebf1394db0417 100644 --- a/roles/shinyproxy/files/eci-users/proxer/application.in.yml +++ b/roles/shinyproxy/files/eci-users/proxer/application.in.yml @@ -23,6 +23,9 @@ proxy: container-cpu-limit: 4 display-name: Shinyscreen port: 7777 + heartbeat-enabled: false + stop-on-logout: false + max-lifetime: 1440 container-volumes: [ "/eci-users:/scratch" ] container-cmd: [ "R", "-e", "library(future);future::plan('multisession');usdir=Sys.getenv('SHINYPROXY_USERNAME');indir=file.path('/scratch',usdir);shinyscreen::serve(indir=indir,topuserdir='/scratch',user=usdir)"] access-groups: [overseers,eci] diff --git a/roles/shinyproxy/files/eci-users/proxer/run_shinyproxy.sh b/roles/shinyproxy/files/eci-users/proxer/run_shinyproxy.sh new file mode 100755 index 0000000000000000000000000000000000000000..61d730c66e8cb5c0cb04d3b3fb7c294b7ae21d68 --- /dev/null +++ b/roles/shinyproxy/files/eci-users/proxer/run_shinyproxy.sh @@ -0,0 +1,3 @@ +#!/bin/sh +cd /eci-users/proxer +exec java -jar shinyproxy.jar diff --git a/roles/shinyproxy/files/etc/systemd/system/shinyproxy.service b/roles/shinyproxy/files/etc/systemd/system/shinyproxy.service index feb0a3a0bf8ac598fd2563be4cb8a29cba2c7677..888c5e2422b3c65f0ab791c19c020d397d55aab4 100644 --- a/roles/shinyproxy/files/etc/systemd/system/shinyproxy.service +++ b/roles/shinyproxy/files/etc/systemd/system/shinyproxy.service @@ -6,10 +6,11 @@ ReloadPropagatedFrom=docker.service nginx.service [Service] Type=simple -ExecStart=/usr/bin/java -jar shinyproxy.jar +TimeoutStartSec=15s +ExecStart=/eci-users/proxer/run_shinyproxy.sh +RestartSec=5s Restart=on-failure User=proxer -WorkingDirectory=/eci_users/proxer [Install] WantedBy=multi-user.target diff --git a/roles/shinyproxy/handlers/main.yml b/roles/shinyproxy/handlers/main.yml index d2a275cccca94d780cadeeca4446c94b0b64f6a5..0caa6c6cf5c3624f6c4559c9eb7484f2c94e776d 100644 --- a/roles/shinyproxy/handlers/main.yml +++ b/roles/shinyproxy/handlers/main.yml @@ -26,4 +26,5 @@ ansible.builtin.service: name: shinyproxy state: restarted + daemon_reload: yes enabled: yes diff --git a/roles/shinyproxy/tasks/main.yml b/roles/shinyproxy/tasks/main.yml index a6dde436b0524f854c53357215d21647432372d1..b45ed3011fab9d4cd4a64b09f46051361252aae7 100644 --- a/roles/shinyproxy/tasks/main.yml +++ b/roles/shinyproxy/tasks/main.yml @@ -115,6 +115,15 @@ chdir: /eci-users/proxer executable: python3 +- name: Copy shinyproxy script. + tags: shinyproxy-conf + notify: shinyproxy-service + ansible.builtin.copy: + src: eci-users/proxer/run_shinyproxy.sh + dest: /eci-users/proxer/run_shinyproxy.sh + owner: proxer + mode: '0744' + - name: Copy service file for shinyproxy. tags: shinyproxy-conf notify: shinyproxy-service