2 # Copyright (C) The Arvados Authors. All rights reserved.
4 # SPDX-License-Identifier: AGPL-3.0
8 export ARVADOS_CONTAINER_PATH=/var/lib/arvados-arvbox
10 if ! grep "^arvbox:" /etc/passwd >/dev/null 2>/dev/null ; then
11 HOSTUID=$(ls -nd /usr/src/arvados | sed 's/ */ /' | cut -d' ' -f4)
12 HOSTGID=$(ls -nd /usr/src/arvados | sed 's/ */ /' | cut -d' ' -f5)
14 mkdir -p $ARVADOS_CONTAINER_PATH/git \
15 /var/lib/passenger /var/lib/gopath \
16 /var/lib/pip /var/lib/npm
18 if test -z "$ARVBOX_HOME" ; then
19 ARVBOX_HOME=$ARVADOS_CONTAINER_PATH
22 groupadd --gid $HOSTGID --non-unique arvbox
23 groupadd --gid $HOSTGID --non-unique git
24 useradd --home-dir $ARVBOX_HOME \
25 --uid $HOSTUID --gid $HOSTGID \
30 useradd --home-dir $ARVADOS_CONTAINER_PATH/git --uid $HOSTUID --gid $HOSTGID --non-unique git
31 useradd --groups docker crunch
33 if [[ "$1" != --no-chown ]] ; then
34 chown arvbox:arvbox -R /usr/local $ARVADOS_CONTAINER_PATH \
35 /var/lib/passenger /var/lib/postgresql \
36 /var/lib/nginx /var/log/nginx /etc/ssl/private \
37 /var/lib/gopath /var/lib/pip /var/lib/npm
40 mkdir -p /tmp/crunch0 /tmp/crunch1
41 chown crunch:crunch -R /tmp/crunch0 /tmp/crunch1
43 echo "arvbox ALL=(crunch) NOPASSWD: ALL" >> /etc/sudoers
45 cat <<EOF > /etc/profile.d/paths.sh
46 export PATH=/var/lib/arvados/bin:/usr/local/bin:/usr/bin:/bin:/usr/src/arvados/sdk/cli/binstubs
47 export npm_config_cache=/var/lib/npm
48 export npm_config_cache_min=Infinity
49 export R_LIBS=/var/lib/Rlibs
50 export GOPATH=/var/lib/gopath
54 chown -R arvbox:arvbox /etc/arvados
57 if ! grep "^fuse:" /etc/group >/dev/null 2>/dev/null ; then
58 if test -c /dev/fuse ; then
59 FUSEGID=$(ls -nd /dev/fuse | sed 's/ */ /' | cut -d' ' -f5)
60 groupadd --gid $FUSEGID --non-unique fuse