e2338918b0
Rewrite migrations to raw SQL with IF NOT EXISTS/EXCEPTION guards for full idempotency. Add notes table migration (0001), fix migration chain, and run alembic upgrade head in Dockerfile CMD on container start. Update summary.md with Phase 3.5 changes and Alembic instructions. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
26 lines
731 B
Docker
26 lines
731 B
Docker
# Stage 1: Build Vue frontend
|
|
FROM node:20-alpine AS build-frontend
|
|
WORKDIR /build
|
|
COPY frontend/package.json frontend/package-lock.json* ./
|
|
RUN npm install
|
|
COPY frontend/ .
|
|
RUN npm run build
|
|
|
|
# Stage 2: Python runtime
|
|
FROM python:3.12-slim AS runtime
|
|
WORKDIR /app
|
|
|
|
COPY pyproject.toml .
|
|
COPY src/ src/
|
|
RUN pip install --no-cache-dir .
|
|
|
|
COPY --from=build-frontend /build/dist/ src/fabledassistant/static/
|
|
COPY alembic.ini .
|
|
COPY alembic/ alembic/
|
|
|
|
# Ensure Python finds the source tree (where static files live) before site-packages
|
|
ENV PYTHONPATH=/app/src
|
|
|
|
EXPOSE 5000
|
|
CMD ["sh", "-c", "(alembic stamp --purge base 2>/dev/null || true) && alembic upgrade head && hypercorn 'fabledassistant.app:create_app()' --bind 0.0.0.0:5000"]
|