33 lines
811 B
Docker
33 lines
811 B
Docker
# syntax=docker/dockerfile:1
|
|
FROM mcr.microsoft.com/playwright/python:v1.49.0-noble
|
|
|
|
# Set environment variables
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
PORT=5000 \
|
|
DATA_DIR=/app/data
|
|
|
|
# Working directory inside the container
|
|
WORKDIR /app
|
|
|
|
# Install Python requirements
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir --upgrade pip && \
|
|
pip install --no-cache-dir -r requirements.txt && \
|
|
playwright install chromium
|
|
|
|
# Copy application source code
|
|
COPY thread_ripper/ ./thread_ripper/
|
|
|
|
# Create persistent data directory
|
|
RUN mkdir -p /app/data/threads
|
|
|
|
# Expose server port
|
|
EXPOSE 5000
|
|
|
|
# Volume for persisting saved threads
|
|
VOLUME ["/app/data"]
|
|
|
|
# Run Thread Ripper server with uvicorn
|
|
CMD ["uvicorn", "thread_ripper.server:app", "--host", "0.0.0.0", "--port", "5000"]
|