update branding and ci
Build image / build (push) Successful in 34s

This commit is contained in:
2026-09-26 12:02:12 +02:00
parent 6cecbcf7c2
commit 8f8c662e5e
8 changed files with 30 additions and 20 deletions
+17 -10
View File
@@ -1,7 +1,8 @@
# Heatpump cycle analysis
# Interval Viz
A small static web app that visualises when a heat pump compressor is running,
based on Home Assistant history exports (`binary_sensor.*` on/off states).
A small static web app that visualises on/off intervals, such as when a heat
pump compressor is running. It reads Home Assistant history exports
(`binary_sensor.*` on/off states).
- Interactive timeline (pan, zoom, mouse-wheel, quick ranges 6 h / 24 h / 3 d / 7 d;
double-click or Esc resets the zoom)
@@ -87,19 +88,25 @@ docker compose up -d --build
Open <http://localhost:8080> and log in as `dev` / `dev`. These development
credentials are set in `docker-compose.yml`. The host port can be changed with
`HEATPUMP_PORT=9000 docker compose up -d`.
`INTERVAL_VIZ_PORT=9000 docker compose up -d`.
## CI: build and push
`.gitea/workflows/docker.yml` builds the image with Gitea Actions and pushes it
to the Harbor registry as `registry.traberph.de/public/interval_viz`.
| Trigger | Tags pushed |
|--------------------|-----------------------------------|
| push to `main` | `latest`, `sha-<short>` |
| tag `v1.2.3` | `1.2.3`, `1.2`, `sha-<short>` |
| pull request | build only, nothing pushed |
| manual dispatch | as for the selected ref |
| Trigger | Tags pushed |
|--------------------|------------------------------------------------------|
| push to `main` | `latest`, `main-<sha>-<unix time>` (e.g. `main-6cecbcf-1790415657`) |
| tag `v1.2.3` | `1.2.3`, `1.2` |
| pull request | build only, nothing pushed |
| manual dispatch | as for the selected ref |
The `main-…` tags sort by build time via the trailing timestamp. Flux image
automation can pick the newest one with this filter:
`pattern: '^main-[a-f0-9]+-(?P<ts>[0-9]+)$'`, `extract: '$ts'`, `numerical: asc`.
Old tags are cleaned up by a tag retention policy in Harbor, not by this workflow.
Setup: