Files
interval_viz/Dockerfile
T
traberphandClaude Opus 5.5 e70d15f861
Build image / build (push) Successful in 3m18s
Build container image in CI, bake in datasets, configure auth via env
- Dockerfile bakes the app and every CSV in data/ into an nginx image
- UI discovers data/*.csv via nginx JSON autoindex and offers a
  dropdown when there is more than one dataset
- docker-entrypoint.d/40-basic-auth.sh creates .htpasswd from
  BASIC_AUTH_USER / BASIC_AUTH_PASSWORD(_FILE) and refuses to start
  without credentials; replaces set-password.sh
- Gitea Actions workflow builds and pushes
  registry.traberph.de/public/interval_viz (latest, sha-*, semver)
- Escape resets the chart zoom

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-26 11:12:12 +02:00

12 lines
461 B
Docker

FROM nginx:1.29-alpine
COPY nginx/default.conf /etc/nginx/conf.d/default.conf
COPY nginx/security-headers.conf /etc/nginx/security-headers.conf
COPY --chmod=755 docker-entrypoint.d/40-basic-auth.sh /docker-entrypoint.d/
COPY html /usr/share/nginx/html
# every *.csv in data/ becomes selectable in the UI
COPY data /usr/share/nginx/html/data
HEALTHCHECK --interval=30s --timeout=5s --retries=3 \
CMD wget -q -O /dev/null http://127.0.0.1/healthz || exit 1