From 87d7ea88aa205fa846b44cd8fe37dd28d01b737f Mon Sep 17 00:00:00 2001 From: furkanyigit34 <134547018+furkanyigit34@users.noreply.github.com> Date: Sun, 8 Mar 2026 00:44:56 +0300 Subject: [PATCH] fix: resolve Permission denied for /data/reports in Coolify deployment - Run container as root initially to fix volume mount permissions - Use gosu to drop to appuser before starting uvicorn - chown /data directories at startup (Coolify mounts volumes as root) Co-Authored-By: Claude Opus 4.6 --- backend/Dockerfile | 2 +- backend/startup.sh | 7 ++++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/backend/Dockerfile b/backend/Dockerfile index 6c30316..d189c96 100644 --- a/backend/Dockerfile +++ b/backend/Dockerfile @@ -12,6 +12,7 @@ WORKDIR /app RUN apt-get update && apt-get install -y \ libpq-dev \ curl \ + gosu \ && rm -rf /var/lib/apt/lists/* # Copy requirements first (Docker layer caching) @@ -38,7 +39,6 @@ RUN chmod +x startup.sh # Create non-root user for security RUN useradd -m -u 1001 appuser && \ chown -R appuser:appuser /app /data -USER appuser # Expose backend port EXPOSE 8001 diff --git a/backend/startup.sh b/backend/startup.sh index 56f67e0..b0a3964 100644 --- a/backend/startup.sh +++ b/backend/startup.sh @@ -6,6 +6,11 @@ set -e echo "🚀 Starting Trendyol Product Dashboard Backend..." +# Fix permissions on volume-mounted directories (Coolify mounts as root) +echo "🔧 Fixing data directory permissions..." +chown -R appuser:appuser /data 2>/dev/null || true +chmod -R 755 /data 2>/dev/null || true + # Database URL from environment DB_URL="${DATABASE_URL:-postgresql://postgres:trendyol123@postgres:5432/trendyol_db}" echo "📦 Database: PostgreSQL" @@ -48,4 +53,4 @@ echo "✅ Migrations completed!" # Start the FastAPI application echo "🌐 Starting FastAPI server on port 8001..." -exec uvicorn main:app --host 0.0.0.0 --port 8001 --log-level info +exec gosu appuser uvicorn main:app --host 0.0.0.0 --port 8001 --log-level info