Add arvbox support for overriding settings in application.yml
[arvados.git] / lib / arvbox / docker / service / workbench / run-service
1 #!/bin/bash
2
3 exec 2>&1
4 set -ex -o pipefail
5
6 .  /usr/local/lib/arvbox/common.sh
7
8 cd /usr/src/arvados/apps/workbench
9 export RAILS_ENV=development
10
11 run_bundler --without=development
12 bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger
13
14 if test "$1" = "--only-deps" ; then
15     exit
16 fi
17
18 set -u
19
20 if ! test -s /var/lib/arvados/workbench_secret_token ; then
21   ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/workbench_secret_token
22 fi
23 secret_token=$(cat /var/lib/arvados/workbench_secret_token)
24
25 if ! test -s self-signed.key ; then
26   openssl req -new -x509 -nodes -out self-signed.pem -keyout self-signed.key -days 365 -subj '/CN=localhost'
27 fi
28
29 cat >config/application.yml <<EOF
30 development:
31   secret_token: $secret_token
32   arvados_login_base: https://$localip:${services[api]}/login
33   arvados_v1_base: https://$localip:${services[api]}/arvados/v1
34   arvados_insecure_https: true
35   keep_web_download_url: http://$localip:${services[keep-web]}/c=%{uuid_or_pdh}
36   keep_web_url: http://$localip:${services[keep-web]}/c=%{uuid_or_pdh}
37   arvados_docsite: http://$localip:${services[doc]}/
38 EOF
39
40 (cd config && /usr/local/lib/arvbox/application_yml_override.py)