Fix the uid in the docker container, but only when needed and make the bind mount...
[termux-packages] / scripts / run-docker.sh
CommitLineData
88183689
FF
1#!/bin/sh
2set -e -u
3
e81c6eec 4HOME=/home/builder
e3f9f42f 5REPOROOT="$(dirname $(readlink -f $0))/../"
6
88183689 7IMAGE_NAME=termux/package-builder
a0057943 8CONTAINER_NAME=termux-package-builder
88183689 9
e3f9f42f 10[ $(id -u) -eq 0 ] && USER=root || USER=builder
e81c6eec 11
a0057943
FF
12echo "Running container '$CONTAINER_NAME' from image '$IMAGE_NAME'..."
13
14docker start $CONTAINER_NAME > /dev/null 2> /dev/null || {
15 echo "Creating new container..."
16 docker run \
95761413 17 --detach \
0ab8f469 18 --env HOME=$HOME \
95761413 19 --name $CONTAINER_NAME \
e3f9f42f 20 --volume $REPOROOT:$HOME/termux-packages \
95761413
FF
21 --tty \
22 $IMAGE_NAME
e3f9f42f 23 if [ $(id -u) -ne 1000 ]
24 then
25 echo "Changed builder uid/gid... (this may take a while)"
26 docker exec --tty $CONTAINER_NAME chown -R $(id -u) $HOME
27 docker exec --tty $CONTAINER_NAME chown -R $(id -u) /data
28 docker exec --tty $CONTAINER_NAME usermod -u $(id -u) builder
29 docker exec --tty $CONTAINER_NAME groupmod -g $(id -g) builder
30 fi
a0057943
FF
31}
32
33if [ "$#" -eq "0" ]; then
e81c6eec 34 docker exec --interactive --tty --user $USER $CONTAINER_NAME bash
a0057943 35else
e81c6eec 36 docker exec --interactive --tty --user $USER $CONTAINER_NAME $@
a0057943 37fi
88183689 38
88183689 39