From 6c3f2b6b13e93112fd5f861425acc0b320926896 Mon Sep 17 00:00:00 2001 From: Serge Gatezh <2880401+gatezh@users.noreply.github.com> Date: Wed, 25 Mar 2026 23:16:09 -0600 Subject: [PATCH] fix(ralphex-fe): fix config dir permission denied on UID remap MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When APP_UID != 1001 and SKIP_HOME_CHOWN=1, /home/app stayed owned by build-time UID 1001, so the remapped user couldn't mkdir .config/ralphex. Always chown /home/app itself (non-recursive, fast) regardless of SKIP_HOME_CHOWN. Also flatten files/ subdirectory — scripts now live at ralphex-fe/ root. Co-Authored-By: Claude Opus 4.6 --- .github/workflows/build-ralphex-fe.yml | 2 +- ralphex-fe/Dockerfile | 4 ++-- ralphex-fe/{files => }/init-docker.sh | 0 ralphex-fe/{files => }/init.sh | 3 +++ 4 files changed, 6 insertions(+), 3 deletions(-) rename ralphex-fe/{files => }/init-docker.sh (100%) rename ralphex-fe/{files => }/init.sh (93%) diff --git a/.github/workflows/build-ralphex-fe.yml b/.github/workflows/build-ralphex-fe.yml index bc2967d..62bedc8 100644 --- a/.github/workflows/build-ralphex-fe.yml +++ b/.github/workflows/build-ralphex-fe.yml @@ -6,7 +6,7 @@ on: - master paths: - 'ralphex-fe/Dockerfile' - - 'ralphex-fe/files/**' + - 'ralphex-fe/*.sh' workflow_dispatch: permissions: diff --git a/ralphex-fe/Dockerfile b/ralphex-fe/Dockerfile index e089f5f..83d1e77 100644 --- a/ralphex-fe/Dockerfile +++ b/ralphex-fe/Dockerfile @@ -127,8 +127,8 @@ ENV PATH="${PATH}:${GOROOT}/bin:${GOPATH}/bin" # Adapted from: https://github.com/umputun/baseimage/blob/master/base.alpine/files/init.sh # /srv/init.sh — credential copier run before main command # Source: https://github.com/umputun/ralphex/blob/master/scripts/internal/init-docker.sh -COPY files/init.sh /init.sh -COPY files/init-docker.sh /srv/init.sh +COPY init.sh /init.sh +COPY init-docker.sh /srv/init.sh RUN chmod +x /init.sh /srv/init.sh WORKDIR /workspace diff --git a/ralphex-fe/files/init-docker.sh b/ralphex-fe/init-docker.sh similarity index 100% rename from ralphex-fe/files/init-docker.sh rename to ralphex-fe/init-docker.sh diff --git a/ralphex-fe/files/init.sh b/ralphex-fe/init.sh similarity index 93% rename from ralphex-fe/files/init.sh rename to ralphex-fe/init.sh index f49b413..77ab7d8 100755 --- a/ralphex-fe/files/init.sh +++ b/ralphex-fe/init.sh @@ -44,6 +44,9 @@ if [ "${uid}" -eq 0 ]; then fi chown -R app:app /srv + # Always fix /home/app itself (non-recursive) so the app user can create + # subdirectories even when APP_UID is remapped and SKIP_HOME_CHOWN=1. + chown app:app /home/app if [ "${SKIP_HOME_CHOWN}" != "1" ]; then chown -R app:app /home/app fi