- prompts/: LFU cache exam + 5-pillar grading rubric - outputs/: 8 model .py outputs (local + cloud baseline) - data/benchmark_history.json: graded results (scores, metrics, bugs, patches) - generate_dashboard.py: builds dashboard.html + pages/*.html from JSON - Dockerfile + DEPLOY.md: Gitea→Coolify deploy (build-step, nginx static) - .gitignore: generated HTML excluded (built on deploy) Co-Authored-By: Claude <noreply@anthropic.com>
22 lines
736 B
Docker
22 lines
736 B
Docker
# syntax=docker/dockerfile:1
|
|
# Build stage: regenerate the static site from source data.
|
|
FROM python:3.12-slim AS build
|
|
WORKDIR /app
|
|
COPY . .
|
|
RUN python3 generate_dashboard.py
|
|
|
|
# Serve stage: nginx serves the generated static files.
|
|
FROM nginx:alpine
|
|
# Replace the default nginx server block so root redirects to the dashboard
|
|
RUN printf '%s\n' \
|
|
'server {' \
|
|
' listen 80;' \
|
|
' server_name _;' \
|
|
' root /usr/share/nginx/html;' \
|
|
' index dashboard.html;' \
|
|
' location = / { return 302 /dashboard.html; }' \
|
|
'}' > /etc/nginx/conf.d/default.conf
|
|
COPY --from=build /app/dashboard.html /usr/share/nginx/html/dashboard.html
|
|
COPY --from=build /app/pages /usr/share/nginx/html/pages
|
|
EXPOSE 80
|