10666: Merge branch 'master' into 10666-report-version
[arvados.git] / tools / arvbox / lib / arvbox / docker / service / workbench / run-service
1 #!/bin/bash
2 # Copyright (C) The Arvados Authors. All rights reserved.
3 #
4 # SPDX-License-Identifier: AGPL-3.0
5
6 exec 2>&1
7 set -ex -o pipefail
8
9 .  /usr/local/lib/arvbox/common.sh
10
11 cd /usr/src/arvados/apps/workbench
12
13 if test -s /var/lib/arvados/workbench_rails_env ; then
14   export RAILS_ENV=$(cat /var/lib/arvados/workbench_rails_env)
15 else
16   export RAILS_ENV=development
17 fi
18
19 run_bundler --without=development
20 bundle exec passenger start --runtime-check-only --runtime-dir=/var/lib/passenger
21 mkdir -p /usr/src/arvados/apps/workbench/tmp
22 RAILS_GROUPS=assets bundle exec rake npm:install
23
24 if test "$1" = "--only-deps" ; then
25     exit
26 fi
27
28 set -u
29
30 if ! test -s /var/lib/arvados/workbench_secret_token ; then
31   ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/workbench_secret_token
32 fi
33 secret_token=$(cat /var/lib/arvados/workbench_secret_token)
34
35 if ! test -s self-signed.key ; then
36   openssl req -new -x509 -nodes -out self-signed.pem -keyout self-signed.key -days 365 -subj '/CN=localhost'
37 fi
38
39 cat >config/application.yml <<EOF
40 $RAILS_ENV:
41   secret_token: $secret_token
42   arvados_login_base: https://$localip:${services[api]}/login
43   arvados_v1_base: https://$localip:${services[api]}/arvados/v1
44   arvados_insecure_https: true
45   keep_web_download_url: http://$localip:${services[keep-web]}/c=%{uuid_or_pdh}
46   keep_web_url: http://$localip:${services[keep-web]}/c=%{uuid_or_pdh}
47   arvados_docsite: http://$localip:${services[doc]}/
48   force_ssl: false
49 EOF
50
51 bundle exec rake assets:precompile
52
53 (cd config && /usr/local/lib/arvbox/application_yml_override.py)