FastAPI backend (SQLite + APScheduler), Vue 3 frontend, MCP server for Claude integration, and Docker Compose stack. Includes campaign data model (campaigns → variants → subs), post history, sub rules, and Playwright-based Reddit posting layer migrated from claude-bridge/reddit-poster. Also seeds legacy campaigns (6) and sub rules (14) from reddit-poster history. Closes #1 (scaffold), resolves migration from claude-bridge.
23 lines
511 B
Docker
23 lines
511 B
Docker
FROM python:3.11-slim
|
|
|
|
# System deps for Playwright + Chrome + Xvfb
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
xvfb google-chrome-stable wget gnupg \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Install Python deps
|
|
COPY pyproject.toml .
|
|
COPY ../circuitforge-core /cf-core
|
|
RUN pip install --no-cache-dir -e /cf-core && \
|
|
pip install --no-cache-dir -e .
|
|
|
|
# Install Playwright browsers
|
|
RUN playwright install chromium
|
|
|
|
COPY . .
|
|
|
|
EXPOSE 8532
|
|
|
|
CMD ["python", "-m", "app.main"]
|