github amayer1983/docksentry v1.14.0
v1.14.0 — Container Detail Page, Theme Toggle, Weekly Report

latest releases: v1.25.1, v1.25.0, v1.24.0...
one month ago

Highlights

Three substantial features following the v1.13.1 UI refresh.

1. Container detail page (/container/<name>)

The stub link from v1.13.1 now opens a full per-container view with four tabs:

Tab What's in it
Overview Image, size, created/started timestamps, status badge, compose project/service, configured update window, all per-container badges in one place
History Update history filtered to this single container (last 50 entries)
Logs docker logs for this specific container, with configurable line count
Settings Per-container toggles (auto-update, ⚠ major-confirm, pin) plus the per-container update-window editor (HH:MM range + weekdays)

Container names on the Status page link directly here. Tab state persists via localStorage. URL is stable so bookmarks and external links work.

2. Theme toggle 🌙 / ☀️

Sun/moon button in the header — flips between dark and light. On first visit the choice respects your OS prefers-color-scheme; after that, your preference is remembered in localStorage. The theme is applied before paint via a tiny inline script, so there's no dark-to-light flash on page load.

Light theme uses GitHub-inspired tokens. Every existing component picks it up because everything goes through CSS Custom Properties — there are no per-component overrides.

3. Weekly summary report

New env vars:

WEEKLY_REPORT_ENABLED=true
WEEKLY_REPORT_WEEKDAY=0      # 0=Mon..6=Sun, default Monday
WEEKLY_REPORT_HOUR=9         # 0-23, default 09:00

Once a week, Docksentry sends a digest to all configured channels:

  • Telegram: Markdown-formatted text
  • Discord: rich embed with fields and color
  • Generic webhook: JSON event weekly_report with full stats payload

Report contents:

  • Successful / failed / rolled-back updates over the last 7 days
  • Current disk usage (% + free GB)
  • Top 5 most-updated containers

Idempotent — a state file (/data/weekly_report_state.json) records the last send date, so a scheduler restart at the wrong moment can't trigger a duplicate. Editable via Web UI under Settings → Notifications.

Internal

  • ThreadingHTTPServer instead of HTTPServer — a slow request (e.g. the /api/cleanup background task) could previously deadlock the Web UI for everyone else. The threading variant handles each connection in its own thread.
  • New module weekly_report.py (~150 lines, pure aggregation + format functions, easy to test).
  • ContainerStore exposes get_update_window(name) + is_ask_before_major(name) for the detail page.

i18n

43 new keys × 16 language files. EN + DE translated; other languages get the English fallback for the new keys.

Upgrade

docker pull amayer1983/docksentry:latest
docker compose up -d

No configuration changes required. Defaults preserve previous behaviour.

Don't miss a new docksentry release

NewReleases is sending notifications on new releases.