Automated migrations on container startup (backend/entrypoint.sh), scripted n8n workflow activation (make n8n-setup), Playwright E2E test covering the full 9-step demo script (verified passing against the live stack, including the previously-unverified 360px responsive layout), evidence screenshots of all main pages, architecture diagram, and artifacts/evidence/final-summary.md with commit/commands/test counts/RAGcore and n8n evidence/MCP sample calls/known limitations/portfolio wording. Verified the complete clean-checkout path from a genuinely wiped-volumes state: automatic migrations, seed, 66 backend tests passing, and a live S1 return round-tripped through a freshly-activated n8n instance. Added .gitattributes to force LF line endings on shell scripts, preventing a real cross-platform breakage of entrypoint.sh's shebang.
17 lines
507 B
Docker
17 lines
507 B
Docker
FROM python:3.12-slim
|
|
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
|
|
WORKDIR /app
|
|
COPY backend/requirements.lock ./
|
|
RUN pip install --no-cache-dir -r requirements.lock
|
|
COPY backend/pyproject.toml ./
|
|
COPY backend/app ./app
|
|
COPY backend/alembic ./alembic
|
|
COPY backend/alembic.ini ./
|
|
COPY backend/tests ./tests
|
|
COPY seed ./seed
|
|
COPY knowledge ./knowledge
|
|
COPY backend/entrypoint.sh ./entrypoint.sh
|
|
RUN pip install --no-cache-dir --no-deps -e . && chmod +x ./entrypoint.sh
|
|
EXPOSE 8000
|
|
CMD ["./entrypoint.sh"]
|