Fix "wrong bundler" error starting API server in arvbox
[arvados.git] / tools / arvbox / lib / arvbox / docker / service / api / 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/services/api
12
13 if test -s $ARVADOS_CONTAINER_PATH/api_rails_env ; then
14   export RAILS_ENV=$(cat $ARVADOS_CONTAINER_PATH/api_rails_env)
15 else
16   export RAILS_ENV=development
17 fi
18
19 run_bundler --without=development
20 flock $GEM_HOME/gems.lock bin/bundle exec passenger-config build-native-support
21 flock $GEM_HOME/gems.lock bin/bundle exec passenger-config install-standalone-runtime
22
23 if test "$1" = "--only-deps" ; then
24     exit
25 fi
26
27 flock $ARVADOS_CONTAINER_PATH/api.lock /usr/local/lib/arvbox/api-setup.sh
28
29 set +u
30 if test "$1" = "--only-setup" ; then
31     exit
32 fi
33
34 touch $ARVADOS_CONTAINER_PATH/api.ready
35
36 exec bin/bundle exec passenger start --port=${services[api]}