From d3b240eae373a3bcdbc6d16ae1af3a509ffb9d9e Mon Sep 17 00:00:00 2001 From: Egor Date: Mon, 1 Sep 2025 22:49:41 +0300 Subject: [PATCH] Update Dockerfile --- Dockerfile | 28 ++++++++++++++++++---------- 1 file changed, 18 insertions(+), 10 deletions(-) diff --git a/Dockerfile b/Dockerfile index 7cf86347..4faf23d9 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,35 +1,43 @@ - FROM python:3.11-slim - WORKDIR /app # Install system dependencies RUN apt-get update && apt-get install -y \ gcc \ + wget \ && rm -rf /var/lib/apt/lists/* # Copy requirements first for better caching COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt +# Create non-root user with specific UID/GID for consistency +RUN groupadd -g 1000 app && \ + useradd -u 1000 -g 1000 -m -s /bin/bash app + # Copy application code COPY . . -# Create logs directory -RUN mkdir -p logs +# Create necessary directories and set permissions +RUN mkdir -p logs data && \ + chown -R app:app /app && \ + chmod -R 755 /app && \ + chmod -R 777 logs + +# Switch to non-root user +USER app # Set environment variables ENV PYTHONPATH=/app ENV PYTHONUNBUFFERED=1 -# Create non-root user -RUN useradd --create-home --shell /bin/bash app -RUN chown -R app:app /app -USER app - -# Expose webhook ports для платежных систем +# Expose webhook ports EXPOSE 8081 EXPOSE 8082 +# Health check +HEALTHCHECK --interval=30s --timeout=10s --start-period=30s --retries=3 \ + CMD wget --no-verbose --tries=1 --spider http://localhost:8081/health || exit 1 + # Run the application CMD ["python", "main.py"]