From cc1f910e4cdf8a62a9a060cf05147a9e83212e1e Mon Sep 17 00:00:00 2001 From: mohamad Date: Sun, 1 Jun 2025 15:47:42 +0200 Subject: [PATCH] refactor: Standardize user creation in Dockerfile and improve multi-stage build syntax --- be/Dockerfile.prod | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/be/Dockerfile.prod b/be/Dockerfile.prod index 5ba0f03..f5915e2 100644 --- a/be/Dockerfile.prod +++ b/be/Dockerfile.prod @@ -1,5 +1,5 @@ # Multi-stage build for production -FROM python:alpine as base +FROM python:alpine AS base # Set environment variables ENV PYTHONDONTWRITEBYTECODE=1 \ @@ -16,11 +16,12 @@ RUN apk add --no-cache \ postgresql-dev \ curl -# Create non-root user -RUN groupadd -r appuser && useradd -r -g appuser appuser +# Create non-root user (Alpine Linux style) +RUN addgroup -g 1001 -S appuser && \ + adduser -u 1001 -S appuser -G appuser # Development stage -FROM base as development +FROM base AS development WORKDIR /app COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt @@ -30,7 +31,7 @@ USER appuser CMD ["uvicorn", "app.main:app", "--host", "0.0.0.0", "--port", "8000", "--reload"] # Production stage -FROM base as production +FROM base AS production WORKDIR /app # Install production dependencies -- 2.45.2