Skip to content

Commit dad5a14

Browse files
committed
fix(docker): handle pre-existing UID 1000 user when creating appuser
1 parent 9905f12 commit dad5a14

3 files changed

Lines changed: 30 additions & 3 deletions

File tree

docker/cpu/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,16 @@ RUN apt-get update -y && \
1010
curl -LsSf https://astral.sh/uv/install.sh | sh && \
1111
mv /root/.local/bin/uv /usr/local/bin/ && \
1212
mv /root/.local/bin/uvx /usr/local/bin/ && \
13-
useradd -m -u 1000 appuser && \
13+
if getent passwd 1000 >/dev/null; then \
14+
EXISTING_USER="$(getent passwd 1000 | cut -d: -f1)"; \
15+
if [ "$EXISTING_USER" != "appuser" ]; then usermod -l appuser "$EXISTING_USER"; fi; \
16+
usermod -d /home/appuser -m appuser || true; \
17+
else \
18+
useradd -m -u 1000 appuser; \
19+
fi && \
20+
APP_GID="$(id -g appuser)" && \
21+
getent group appuser >/dev/null || groupadd -g "$APP_GID" -o appuser && \
22+
usermod -g appuser appuser && \
1423
mkdir -p /app/api/src/models/v1_1_zh /app/api/src/voices/v1_1_zh && \
1524
chown -R appuser:appuser /app
1625

docker/gpu/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,16 @@ RUN apt-get update -y && \
99
curl -LsSf https://astral.sh/uv/install.sh | sh && \
1010
mv /root/.local/bin/uv /usr/local/bin/ && \
1111
mv /root/.local/bin/uvx /usr/local/bin/ && \
12-
useradd -m -u 1000 appuser && \
12+
if getent passwd 1000 >/dev/null; then \
13+
EXISTING_USER="$(getent passwd 1000 | cut -d: -f1)"; \
14+
if [ "$EXISTING_USER" != "appuser" ]; then usermod -l appuser "$EXISTING_USER"; fi; \
15+
usermod -d /home/appuser -m appuser || true; \
16+
else \
17+
useradd -m -u 1000 appuser; \
18+
fi && \
19+
APP_GID="$(id -g appuser)" && \
20+
getent group appuser >/dev/null || groupadd -g "$APP_GID" -o appuser && \
21+
usermod -g appuser appuser && \
1322
mkdir -p /app/api/src/models/v1_1_zh /app/api/src/voices/v1_1_zh && \
1423
chown -R appuser:appuser /app
1524

docker/rocm/Dockerfile

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,16 @@ RUN apt-get update && apt upgrade -y && apt-get install -y --no-install-recommen
2828
&& mv /root/.local/bin/uvx /usr/local/bin/ \
2929

3030
# Create non-root user and set up directories and permissions
31-
&& useradd -m -u 1000 appuser \
31+
&& if getent passwd 1000 >/dev/null; then \
32+
EXISTING_USER="$(getent passwd 1000 | cut -d: -f1)"; \
33+
if [ "$EXISTING_USER" != "appuser" ]; then usermod -l appuser "$EXISTING_USER"; fi; \
34+
usermod -d /home/appuser -m appuser || true; \
35+
else \
36+
useradd -m -u 1000 appuser; \
37+
fi \
38+
&& APP_GID="$(id -g appuser)" \
39+
&& getent group appuser >/dev/null || groupadd -g "$APP_GID" -o appuser \
40+
&& usermod -g appuser appuser \
3241
&& mkdir -p /app/api/src/models/v1_1_zh /app/api/src/voices/v1_1_zh \
3342
&& chown -R appuser:appuser /app \
3443
# Models folder

0 commit comments

Comments
 (0)