15467: Fix SbatchEnvironmentVariables documentation typo
[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-config build-native-support
21 bundle exec passenger-config install-standalone-runtime
22 mkdir -p /usr/src/arvados/apps/workbench/tmp
23
24 if test "$1" = "--only-deps" ; then
25    # Workaround for validation that asserts there's a download URL
26    # configured, which breaks rake if it is missing.
27 cat >config/application.yml <<EOF
28 $RAILS_ENV:
29   keep_web_url: https://example.com/c=%{uuid_or_pdh}
30 EOF
31    RAILS_GROUPS=assets bundle exec rake npm:install
32    rm config/application.yml
33    exit
34 fi
35
36 set -u
37
38 if ! test -s /var/lib/arvados/workbench_secret_token ; then
39   ruby -e 'puts rand(2**400).to_s(36)' > /var/lib/arvados/workbench_secret_token
40 fi
41 secret_token=$(cat /var/lib/arvados/workbench_secret_token)
42
43 if test -a /usr/src/arvados/apps/workbench/config/arvados_config.rb ; then
44     rm -f config/application.yml
45 else
46 cat >config/application.yml <<EOF
47 $RAILS_ENV:
48   secret_token: $secret_token
49   arvados_login_base: https://$localip:${services[controller-ssl]}/login
50   arvados_v1_base: https://$localip:${services[controller-ssl]}/arvados/v1
51   arvados_insecure_https: false
52   keep_web_download_url: https://$localip:${services[keep-web-ssl]}/c=%{uuid_or_pdh}
53   keep_web_url: https://$localip:${services[keep-web-ssl]}/c=%{uuid_or_pdh}
54   arvados_docsite: http://$localip:${services[doc]}/
55   force_ssl: false
56   composer_url: http://$localip:${services[composer]}
57   workbench2_url: https://$localip:${services[workbench2-ssl]}
58 EOF
59
60 (cd config && /usr/local/lib/arvbox/yml_override.py application.yml)
61 fi
62
63 RAILS_GROUPS=assets bundle exec rake npm:install
64 bundle exec rake assets:precompile