FROM python:3.9-slim

# Set working directory
WORKDIR /app

# Copy requirements first (for better caching)
COPY requirements.txt .

# Install dependencies
RUN pip install --no-cache-dir -r requirements.txt

# Copy application code
COPY . .

# Create necessary directories
RUN mkdir -p /tmp/factsdb_ftp

# Expose ports
EXPOSE 21
EXPOSE 5000

# Default command
CMD ["python", "-m", "factsdb.main", "cli"]