X-Git-Url: https://git.arvados.org/arvados.git/blobdiff_plain/2a6cb99cf7a21a273efe8dc793929b74149871f6..e3b8b3683f0ac0ce91f9e2684dc593e5f4bea7ab:/tools/arvbox/lib/arvbox/docker/common.sh diff --git a/tools/arvbox/lib/arvbox/docker/common.sh b/tools/arvbox/lib/arvbox/docker/common.sh index d14e45d0b2..d8f3680491 100644 --- a/tools/arvbox/lib/arvbox/docker/common.sh +++ b/tools/arvbox/lib/arvbox/docker/common.sh @@ -2,21 +2,29 @@ # # SPDX-License-Identifier: AGPL-3.0 - -export PATH=${PATH}:/usr/local/go/bin:/var/lib/gems/bin -export GEM_HOME=/var/lib/gems -export GEM_PATH=/var/lib/gems +export DEBIAN_FRONTEND=noninteractive +export GEM_HOME=/var/lib/arvados/lib/ruby/gems/2.5.0 +export PATH=${PATH}:/usr/local/go/bin:$GEM_HOME/bin:/var/lib/arvados/bin export npm_config_cache=/var/lib/npm export npm_config_cache_min=Infinity export R_LIBS=/var/lib/Rlibs +export HOME=$(getent passwd arvbox | cut -d: -f6) +export ARVADOS_CONTAINER_PATH=/var/lib/arvados-arvbox +defaultdev=$(/sbin/ip route|awk '/default/ { print $5 }') +dockerip=$(/sbin/ip route | grep default | awk '{ print $3 }') +containerip=$(ip addr show $defaultdev | grep 'inet ' | sed 's/ *inet \(.*\)\/.*/\1/') if test -s /var/run/localip_override ; then localip=$(cat /var/run/localip_override) else - defaultdev=$(/sbin/ip route|awk '/default/ { print $5 }') - localip=$(ip addr show $defaultdev | grep 'inet ' | sed 's/ *inet \(.*\)\/.*/\1/') + localip=$containerip fi +root_cert=$ARVADOS_CONTAINER_PATH/root-cert.pem +root_cert_key=$ARVADOS_CONTAINER_PATH/root-cert.key +server_cert=$ARVADOS_CONTAINER_PATH/server-cert-${localip}.pem +server_cert_key=$ARVADOS_CONTAINER_PATH/server-cert-${localip}.key + declare -A services services=( [workbench]=443 @@ -25,17 +33,22 @@ services=( [api]=8004 [controller]=8003 [controller-ssl]=8000 - [sso]=8900 [composer]=4200 + [arv-git-httpd-ssl]=9000 [arv-git-httpd]=9001 - [keep-web]=9002 + [keep-web]=9003 + [keep-web-ssl]=9002 + [keep-web-dl-ssl]=9004 [keepproxy]=25100 + [keepproxy-ssl]=25101 [keepstore0]=25107 [keepstore1]=25108 [ssh]=22 [doc]=8001 [websockets]=8005 [websockets-ssl]=8002 + [webshell]=4201 + [webshell-ssl]=4202 ) if test "$(id arvbox -u 2>/dev/null)" = 0 ; then @@ -52,19 +65,17 @@ run_bundler() { else frozen="" fi - if ! test -x /var/lib/gems/bin/bundler ; then - bundlergem=$(ls -r $GEM_HOME/cache/bundler-*.gem 2>/dev/null | head -n1 || true) - if test -n "$bundlergem" ; then - flock /var/lib/gems/gems.lock gem install --local --no-document $bundlergem - else - flock /var/lib/gems/gems.lock gem install --no-document bundler - fi + BUNDLER=bundler + if test -x $PWD/bin/bundler ; then + # If present, use the one associated with rails workbench or API + BUNDLER=$PWD/bin/bundler fi - if ! flock /var/lib/gems/gems.lock bundler install --path $GEM_HOME --local --no-deployment $frozen "$@" ; then - flock /var/lib/gems/gems.lock bundler install --path $GEM_HOME --no-deployment $frozen "$@" + if ! flock $GEM_HOME/gems.lock $BUNDLER install --verbose --local --no-deployment $frozen "$@" ; then + flock $GEM_HOME/gems.lock $BUNDLER install --verbose --no-deployment $frozen "$@" fi } +PYCMD="" pip_install() { pushd /var/lib/pip for p in $(ls http*.tar.gz) $(ls http*.tar.bz2) $(ls http*.whl) $(ls http*.zip) ; do @@ -74,7 +85,13 @@ pip_install() { done popd - if ! pip install --no-index --find-links /var/lib/pip $1 ; then - pip install $1 + if [ "$PYCMD" = "python3" ]; then + if ! pip3 install --prefix /usr/local --no-index --find-links /var/lib/pip $1 ; then + pip3 install --prefix /usr/local $1 + fi + else + if ! pip install --no-index --find-links /var/lib/pip $1 ; then + pip install $1 + fi fi }