Merge branch '8784-dir-listings'
[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
10 if test -s /var/run/localip_override ; then
11     localip=$(cat /var/run/localip_override)
12 else
13     defaultdev=$(/sbin/ip route|awk '/default/ { print $5 }')
14     localip=$(ip addr show $defaultdev | grep 'inet ' | sed 's/ *inet \(.*\)\/.*/\1/')
15 fi
16
17 declare -A services
18 services=(
19   [workbench]=80
20   [api]=8000
21   [sso]=8900
22   [arv-git-httpd]=9001
23   [keep-web]=9002
24   [keepproxy]=25100
25   [keepstore0]=25107
26   [keepstore1]=25108
27   [ssh]=22
28   [doc]=8001
29   [websockets]=8002
30 )
31
32 if test "$(id arvbox -u 2>/dev/null)" = 0 ; then
33     PGUSER=postgres
34     PGGROUP=postgres
35 else
36     PGUSER=arvbox
37     PGGROUP=arvbox
38 fi
39
40 run_bundler() {
41     if test -f Gemfile.lock ; then
42         frozen=--frozen
43     else
44         frozen=""
45     fi
46     if ! test -x bundle ; then
47         bundlergem=$(ls -r $GEM_HOME/cache/bundler-*.gem 2>/dev/null | head -n1 || true)
48         if test -n "$bundlergem" ; then
49             flock /var/lib/gems/gems.lock gem install --local --no-document $bundlergem
50         else
51             flock /var/lib/gems/gems.lock gem install --no-document bundler
52         fi
53     fi
54     if ! flock /var/lib/gems/gems.lock bundle install --path $GEM_HOME --local --no-deployment $frozen "$@" ; then
55         flock /var/lib/gems/gems.lock bundle install --path $GEM_HOME --no-deployment $frozen "$@"
56     fi
57 }
58
59 pip_install() {
60     pushd /var/lib/pip
61     for p in $(ls http*.tar.gz) $(ls http*.tar.bz2) $(ls http*.whl) $(ls http*.zip) ; do
62         if test -f $p ; then
63             ln -sf $p $(echo $p | sed 's/.*%2F\(.*\)/\1/')
64         fi
65     done
66     popd
67
68     if ! pip install --no-index --find-links /var/lib/pip $1 ; then
69         pip install $1
70     fi
71 }