From e71a8adb8dd7fe6ede4eef5f2cf837c56dbac3a8 Mon Sep 17 00:00:00 2001 From: Chris Nobody Date: Wed, 29 Jul 2020 23:08:09 +0300 Subject: [PATCH] Implement support for SSH key persistence --- bin/run | 4 +++- docker/entrypoint | 1 + 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/bin/run b/bin/run index 96fb74b..410c83b 100755 --- a/bin/run +++ b/bin/run @@ -16,6 +16,7 @@ selfDir=$(dirname "$(resolve "$(command -v "$0")")") : "${DOBE_DIR_FEEDS:=${DOBE_DIR_ROOT}/feeds}" : "${DOBE_DIR_OUTPUT:=${DOBE_DIR_ROOT}/output}" : "${DOBE_DIR_OVERLAY:=${DOBE_DIR_ROOT}/overlay}" +: "${DOBE_DIR_SSH:=${DOBE_DIR_ROOT}/ssh}" : "${DOBE_DIR_DL:=${DOBE_DIR_CACHE}/dl}" : "${DOBE_DIR_BUILD:=${DOBE_DIR_CACHE}/build}" @@ -25,7 +26,7 @@ selfDir=$(dirname "$(resolve "$(command -v "$0")")") : "${DOBE_ID_USER:=$(id -u)}" : "${DOBE_ID_GROUP:=$(id -g)}" -for dir in ROOT CACHE SRC FEEDS OUTPUT OVERLAY DL BUILD STAGING TMP; do +for dir in ROOT CACHE SRC FEEDS OUTPUT OVERLAY SSH DL BUILD STAGING TMP; do path=$(ref "DOBE_DIR_${dir}" ) if ! resolved=$(resolve "$path"); then printf 'Could not resolve the %s directory "%s"\n' "$dir" "$path" @@ -41,6 +42,7 @@ docker run -it --rm \ -v "${resolved_FEEDS}:/src/feeds" \ -v "${resolved_OUTPUT}:/src/bin" \ -v "${resolved_OVERLAY}:/src/files" \ + -v "${resolved_SSH}:/home/dobe.ssh" \ -v "${resolved_DL}:/src/dl" \ -v "${resolved_BUILD}:/src/build_dir" \ -v "${resolved_STAGING}:/src/staging_dir" \ diff --git a/docker/entrypoint b/docker/entrypoint index 6be2022..47e3339 100755 --- a/docker/entrypoint +++ b/docker/entrypoint @@ -7,6 +7,7 @@ groupadd -g "$GROUP_ID" "$GROUP_NAME" || exit useradd -lmg "$GROUP_NAME" -u "$USER_ID" "$USER_NAME" || exit echo "$USER_NAME ALL=NOPASSWD: ALL" >"/etc/sudoers.d/${USER_NAME}" +ln -s /home/dobe.ssh "/home/${USER_NAME}/.ssh" execGosu() { exec gosu "$USER_NAME" "$@"; }