[ci skip] f1-stream: add CDN token refresh, SvelteKit frontend, multi-stream layout (Phases 6-8)
- Phase 6: CDN token lifecycle with 3-strategy URL matching and periodic refresh - Phase 7: SvelteKit 2/Svelte 5 frontend with schedule calendar and hls.js player - Phase 8: Multi-stream layout supporting up to 4 simultaneous HLS streams - Update Dockerfile to multi-stage build (Node.js frontend + Python backend) - Switch deployment to :latest tag with Always pull policy for CI-driven deploys - Update Woodpecker CI to use explicit latest tag
This commit is contained in:
parent
9bf0523ea9
commit
a050db616e
19 changed files with 3843 additions and 17 deletions
|
|
@ -1,3 +1,15 @@
|
|||
## Stage 1: Build frontend
|
||||
FROM node:22-slim AS frontend-builder
|
||||
|
||||
WORKDIR /frontend
|
||||
|
||||
COPY frontend/package.json frontend/package-lock.json* ./
|
||||
RUN npm install
|
||||
|
||||
COPY frontend/ ./
|
||||
RUN npm run build
|
||||
|
||||
## Stage 2: Python backend + static frontend
|
||||
FROM python:3.13-slim-bookworm
|
||||
|
||||
WORKDIR /app
|
||||
|
|
@ -7,6 +19,9 @@ RUN pip install --no-cache-dir -r requirements.txt
|
|||
|
||||
COPY backend/ ./backend/
|
||||
|
||||
# Copy built frontend into the image
|
||||
COPY --from=frontend-builder /frontend/build ./frontend/build
|
||||
|
||||
EXPOSE 8000
|
||||
|
||||
CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8000"]
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue