diff --git a/docker/etc/sudoers.d/dokku-docker b/docker/etc/sudoers.d/dokku-docker index d5677f34f..ae9a60f3f 100644 --- a/docker/etc/sudoers.d/dokku-docker +++ b/docker/etc/sudoers.d/dokku-docker @@ -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 diff --git a/docker/usr/local/bin/pack b/docker/usr/local/bin/pack new file mode 100755 index 000000000..2379ef71e --- /dev/null +++ b/docker/usr/local/bin/pack @@ -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 "$@"