Fix permission issue

This commit is contained in:
2024-11-04 20:27:39 +11:00
parent 04d89b53cc
commit 77ff7f7f1c
+26 -3
View File
@@ -7,6 +7,7 @@ ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV PYTHONPATH /app
ENV UV_CACHE_DIR /app/.cache/uv
ENV UV_VENV_DIRECTORY /app/.venv
# Set work directory
WORKDIR /app
@@ -26,11 +27,14 @@ RUN apt-get update && apt-get install -y \
COPY --from=uv /usr/local/bin/uv /usr/local/bin/uv
# Create cache directory with proper permissions
RUN mkdir -p /app/.cache/uv && chmod -R 777 /app/.cache
# Create directories with proper permissions
RUN mkdir -p /app/.cache/uv && \
mkdir -p /app/.venv && \
chmod -R 777 /app/.cache && \
chmod -R 777 /app/.venv
RUN which uv \
&& uv sync --no-dev
&& uv pip install --system --no-cache --no-deps -e .
# Copy project
COPY . .
@@ -48,11 +52,30 @@ RUN mkdir -p /app/data && chmod 777 /app/data
FROM python:3.12-slim
ENV PYTHONDONTWRITEBYTECODE 1
ENV PYTHONUNBUFFERED 1
ENV PYTHONPATH /app
ENV UV_CACHE_DIR /app/.cache/uv
ENV UV_VENV_DIRECTORY /app/.venv
COPY --from=uv /usr/local/bin/uv /usr/local/bin/uv
COPY --from=dev /app /app
WORKDIR /app
# Ensure proper permissions in the final stage
RUN chmod -R 777 /app/.cache && \
chmod -R 777 /app/.venv && \
chmod -R 777 /app/data
# Create a non-root user
RUN useradd -m -u 1000 appuser && \
chown -R appuser:appuser /app
USER appuser
# Expose port 8000
EXPOSE 8000
# Run the application
CMD ["uv", "run", "gunicorn", "--chdir", "/app", "core.wsgi:application", "--bind", "0.0.0.0:8000"]