fix: ensure pack is run as root user when building apps in docker

Without this, using the pack builder fails since it cannot communicate with a root-mounted docker socket.
This commit is contained in:
Jose Diaz-Gonzalez
2021-10-06 03:07:40 -04:00
parent 2d1b93c354
commit ea86a9f2ca
2 changed files with 21 additions and 1 deletions

View File

@@ -1 +1 @@
dokku ALL=NOPASSWD:SETENV:/usr/bin/docker,/usr/bin/docker-image-labeler
dokku ALL=NOPASSWD:SETENV:/usr/bin/docker,/usr/bin/docker-image-labeler,/usr/bin/pack

20
docker/usr/local/bin/pack Executable file
View File

@@ -0,0 +1,20 @@
#!/usr/bin/env bash
set -eo pipefail
[[ $TRACE ]] && set -x
main() {
declare desc="re-runs pack commands as sudo"
local PACK_BIN=""
if [[ -x "/usr/bin/pack" ]]; then
PACK_BIN="/usr/bin/pack"
fi
if [[ -z "$PACK_BIN" ]]; then
echo "! No pack binary found" 1>&2
exit 1
fi
sudo -E "$PACK_BIN" "$@"
}
main "$@"