[DEPLOYMENT-001] Fix ModuleNotFoundError and rxconfig.py not found in container (fix) | ApprovalToken: AT-202512310556
Some checks failed
ci/woodpecker/push/woodpecker Pipeline failed

This commit is contained in:
Ehsan.Asadi
2025-12-31 05:56:12 +03:30
parent f953e52fd4
commit 0eb0644d8c

View File

@@ -130,9 +130,9 @@ WORKDIR /app
COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages COPY --from=builder /usr/local/lib/python3.11/site-packages /usr/local/lib/python3.11/site-packages
COPY --from=builder /usr/local/bin /usr/local/bin COPY --from=builder /usr/local/bin /usr/local/bin
# Copy application code to /app/peikarband/ to preserve package structure # Copy application code directly to /app/ to preserve package structure
# This ensures peikarband.peikarband module can be found by Reflex # This ensures peikarband.peikarband module can be found by Reflex
COPY --from=builder --chown=peikarband:peikarband /build/peikarband /app/peikarband COPY --from=builder --chown=peikarband:peikarband /build/peikarband /app
# Create necessary directories # Create necessary directories
RUN mkdir -p /app/data /app/logs /app/uploaded_files && \ RUN mkdir -p /app/data /app/logs /app/uploaded_files && \
@@ -143,15 +143,15 @@ RUN chmod -R 755 /app && \
chmod -R 777 /app/data /app/logs /app/uploaded_files chmod -R 777 /app/data /app/logs /app/uploaded_files
# Environment variables # Environment variables
# PYTHONPATH=/app allows importing peikarband package from /app/peikarband # PYTHONPATH=/app allows importing peikarband package from /app/peikarband/
# PYTHONPATH also includes /app/peikarband for src.* imports # and src.* imports from /app/src/
# Note: Python adds current directory (.) to sys.path automatically, but PYTHONPATH entries come first # Note: Python adds current directory (.) to sys.path automatically, but PYTHONPATH entries come first
# REFLEX_DIR points to the directory containing rxconfig.py # REFLEX_DIR points to the directory containing rxconfig.py
ENV PYTHONUNBUFFERED=1 \ ENV PYTHONUNBUFFERED=1 \
PYTHONDONTWRITEBYTECODE=1 \ PYTHONDONTWRITEBYTECODE=1 \
PYTHONPATH=/app:/app/peikarband \ PYTHONPATH=/app \
PATH="/app/.venv/bin:$PATH" \ PATH="/app/.venv/bin:$PATH" \
REFLEX_DIR=/app/peikarband \ REFLEX_DIR=/app \
NODE_ENV=production NODE_ENV=production
# Health check # Health check
@@ -168,9 +168,8 @@ EXPOSE 3000 8000
ENTRYPOINT ["/usr/bin/tini", "--"] ENTRYPOINT ["/usr/bin/tini", "--"]
# Start application # Start application
# We need to run from /app/peikarband so Reflex can find rxconfig.py # Reflex will run from /app where rxconfig.py is located
# PYTHONPATH=/app allows Python to find peikarband package for imports # PYTHONPATH=/app allows Python to find peikarband package for imports
WORKDIR /app/peikarband
CMD ["reflex", "run", "--env", "prod", "--loglevel", "info", "--frontend-port", "3000", "--backend-port", "8000"] CMD ["reflex", "run", "--env", "prod", "--loglevel", "info", "--frontend-port", "3000", "--backend-port", "8000"]
# ============================================ # ============================================