FROM python:3.11-slim WORKDIR /app # Install system dependencies RUN apt-get update && apt-get install -y \ gcc \ postgresql-client \ && rm -rf /var/lib/apt/lists/* # Copy project files COPY pyproject.toml . COPY src/ src/ COPY alembic/ alembic/ COPY alembic.ini . COPY scripts/ scripts/ # Note: README.md excluded by .dockerignore (not needed in container) # Install Python dependencies RUN pip install --no-cache-dir --upgrade pip && \ pip install --no-cache-dir -e . # Create logs directory RUN mkdir -p /app/logs # Run migrations on startup, then start the ingestion CMD ["sh", "-c", "alembic upgrade head && python scripts/fetch_congressional_trades.py --days 30"]