Merge branch '13892-deprecate-jobs-api' closes #13892
[arvados.git] / tools / arvbox / lib / arvbox / docker / common.sh
1 # Copyright (C) The Arvados Authors. All rights reserved.
2 #
3 # SPDX-License-Identifier: AGPL-3.0
4
5
6 export PATH=${PATH}:/usr/local/go/bin:/var/lib/gems/bin
7 export GEM_HOME=/var/lib/gems
8 export GEM_PATH=/var/lib/gems
9 export npm_config_cache=/var/lib/npm
10 export npm_config_cache_min=Infinity
11 export R_LIBS=/var/lib/Rlibs
12
13 if test -s /var/run/localip_override ; then
14     localip=$(cat /var/run/localip_override)
15 else
16     defaultdev=$(/sbin/ip route|awk '/default/ { print $5 }')
17     localip=$(ip addr show $defaultdev | grep 'inet ' | sed 's/ *inet \(.*\)\/.*/\1/')
18 fi
19
20 declare -A services
21 services=(
22   [workbench]=80
23   [api]=8004
24   [controller]=8003
25   [controller-ssl]=8000
26   [sso]=8900
27   [composer]=4200
28   [arv-git-httpd]=9001
29   [keep-web]=9002
30   [keepproxy]=25100
31   [keepstore0]=25107
32   [keepstore1]=25108
33   [ssh]=22
34   [doc]=8001
35   [websockets]=8002
36 )
37
38 if test "$(id arvbox -u 2>/dev/null)" = 0 ; then
39     PGUSER=postgres
40     PGGROUP=postgres
41 else
42     PGUSER=arvbox
43     PGGROUP=arvbox
44 fi
45
46 run_bundler() {
47     if test -f Gemfile.lock ; then
48         frozen=--frozen
49     else
50         frozen=""
51     fi
52     if ! test -x /var/lib/gems/bin/bundler ; then
53         bundlergem=$(ls -r $GEM_HOME/cache/bundler-*.gem 2>/dev/null | head -n1 || true)
54         if test -n "$bundlergem" ; then
55             flock /var/lib/gems/gems.lock gem install --local --no-document $bundlergem
56         else
57             flock /var/lib/gems/gems.lock gem install --no-document bundler
58         fi
59     fi
60     if ! flock /var/lib/gems/gems.lock bundler install --path $GEM_HOME --local --no-deployment $frozen "$@" ; then
61         flock /var/lib/gems/gems.lock bundler install --path $GEM_HOME --no-deployment $frozen "$@"
62     fi
63 }
64
65 pip_install() {
66     pushd /var/lib/pip
67     for p in $(ls http*.tar.gz) $(ls http*.tar.bz2) $(ls http*.whl) $(ls http*.zip) ; do
68         if test -f $p ; then
69             ln -sf $p $(echo $p | sed 's/.*%2F\(.*\)/\1/')
70         fi
71     done
72     popd
73
74     if ! pip install --no-index --find-links /var/lib/pip $1 ; then
75         pip install $1
76     fi
77 }