- markdown-validator: deepseek-v4-pro-max → nemotron-3-nano (90% cost cut) - release-manager: glm-5.1 → kimi-k2.6 (+2 matrix, 1M context for diffs) - capability-analyst: glm-5.1 → deepseek-v4-pro-max (+4 matrix, 1M ctx) - browser-automation: qwen3-coder → deepseek-v4-flash (3× faster inference) - history-miner: nemotron-3-super → qwen3.5-122b (+14 IF, 12.4M pulls)
24 lines
1008 B
Docker
24 lines
1008 B
Docker
# Agent Evolution Dashboard Dockerfile
|
|
# Mount-required version: all content is mounted via volumes.
|
|
# No file copies into the image — rebuild is never required for data changes.
|
|
#
|
|
# Build once:
|
|
# docker build -t apaw-evolution -f agent-evolution/Dockerfile .
|
|
#
|
|
# Workflow:
|
|
# bun run sync:evolution # host-side — regenerates index.standalone.html
|
|
# bash agent-evolution/docker-run.sh reload # container restarts with new mounts
|
|
|
|
FROM python:3.12-alpine
|
|
|
|
WORKDIR /app
|
|
|
|
# Placeholder content until host mounts the real index.standalone.html
|
|
RUN echo '<!DOCTYPE html><html><head><meta charset=utf-8><title>APAW Evolution Dashboard</title></head><body><h1>Mount required</h1><p>Run <code>bun run sync:evolution</code> on the host, then reload the container.</p></body></html>' > index.html
|
|
|
|
EXPOSE 3001
|
|
|
|
HEALTHCHECK --interval=30s --timeout=10s --start-period=5s --retries=3 \
|
|
CMD wget --no-verbose --tries=1 --spider http://127.0.0.1:3001/ || exit 1
|
|
|
|
CMD ["python3", "-m", "http.server", "3001"] |