ParallelLLC/algorithmic_trading
2732
1# Use Python 3.11 slim image for smaller size2FROM python:3.13-slim3 4# Set environment variables5ENV PYTHONUNBUFFERED=16ENV PYTHONDONTWRITEBYTECODE=17ENV DEBIAN_FRONTEND=noninteractive8 9# Set work directory10WORKDIR /app11 12# Install system dependencies13RUN apt-get update && apt-get install -y \14 gcc \15 g++ \16 libffi-dev \17 libssl-dev \18 curl \19 wget \20 git \21 && rm -rf /var/lib/apt/lists/*22 23# Copy requirements first for better caching24COPY requirements.txt .25 26# Install Python dependencies27RUN pip install --no-cache-dir --upgrade pip && \28 pip install --no-cache-dir -r requirements.txt && \29 pip install --no-cache-dir jupyter jupyterlab30 31# Copy the entire project32COPY . .33 34# Create necessary directories35RUN mkdir -p logs data models36 37# Set permissions38RUN chmod +x demo.py finrl_demo.py docker-entrypoint.sh39 40# Expose port for potential web interface41EXPOSE 8000 888842 43# Set entrypoint44ENTRYPOINT ["/app/docker-entrypoint.sh"]45 46# Health check47HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \48 CMD python -c "import sys; sys.exit(0)" || exit 149 50# Default command51CMD ["python", "-m", "agentic_ai_system.main"] 