github Drakonis96/dockerstats v0.9.0

latest releases: v0.9.7, v0.9.6, v0.9.5...
6 hours ago

Experimental release notice

This release adds major UI, notification, security and update-management capabilities. The new update manager is marked as experimental and is designed to preserve user data, volumes, environment variables, networks and persistent configuration while still requiring careful operator review before applying changes.

Highlights

  • Added ntfy.sh notifications and generic HTTP webhook delivery.
  • Added advanced notification policies with project/container filters, cooldowns, silence windows and deduplication.
  • Reworked the notifications UX with a top-bar pending list, settings modal and icon-based clear action.
  • Added basic security advisories for privileged containers, publicly exposed ports, latest image usage and /var/run/docker.sock mounts.
  • Added a Compose project dashboard with per-stack CPU, RAM, state, updates and restart totals.
  • Added an experimental update manager for standalone containers and Compose projects, including safe update planning, persisted history and rollback.
  • Added comprehensive backend, persistence and Playwright coverage for the new functionality.

Full changelog

Notifications and integrations

  • Added ntfy.sh delivery support with configurable server URL, topic, token authentication, optional username/password authentication, tags and Markdown support.
  • Added a generic webhook transport with configurable URL, HTTP method, custom headers, content type and optional request body templating.
  • Updated the notification pipeline to send structured alert events instead of plain text only, so downstream integrations receive richer context.
  • Extended deployment examples and README tutorials with step-by-step setup for ntfy and generic webhook or curl-based integrations.

Notification UX and policy controls

  • Moved notification settings into a centered modal opened from the top-bar notifications entry.
  • Changed the top-bar notifications interaction to open the pending-notifications list and expose dedicated gear and broom actions.
  • Replaced the visible Clear Notifications label with an icon-first broom action and hover tooltip.
  • Added advanced notification controls for targeting by project or container, cooldown windows, silencing periods and duplicate suppression.
  • Preserved notification status messaging correctly after refreshes so update and test results remain visible to the operator.

Dashboard and frontend improvements

  • Moved the clear-notifications action alongside the other primary actions where appropriate and simplified the overview area.
  • Removed the overview visibility state and its show or hide controls to keep the top dashboard panels aligned to the same height.
  • Added per-project Compose cards showing aggregate CPU, RAM, health state, restart totals and pending updates.
  • Updated mobile notification handling to work with the new notification action layout.
  • Kept admin-only restrictions consistent for both notification settings and the new update manager entry points.

Security advisories

  • Added optional security warnings that users can enable or disable from the interface.
  • Detects privileged containers.
  • Detects containers exposing ports publicly on 0.0.0.0 or ::.
  • Detects images using an explicit or implicit latest tag.
  • Detects /var/run/docker.sock bind mounts.
  • Integrated security findings with the existing cooldown and deduplication behavior so alerts are informative without being noisy.

Update manager

  • Added a new update-manager entry point beside notifications in the top bar.
  • Added a dedicated modal with a visible experimental warning explaining that the feature is designed to preserve data but should still be reviewed carefully before execution.
  • Separates update targets into standalone containers and Compose projects or stacks.
  • Shows name, target type, current version, latest available version, update status and last check time for each updatable item.
  • Implements guarded update planning that identifies target type, chooses the right update strategy and records the installed version before change.
  • Routes the existing container update endpoint through the safe update-manager logic instead of a direct refresh path.
  • Persists update history with target name, target type, previous version, new version, timestamp, result and error notes.
  • Added rollback support for recent updates using the persisted history and the recorded previous version.
  • Fixed rollback targeting so it resolves containers by stable container name instead of transient container IDs.
  • Added forced refresh support so available updates are re-evaluated synchronously when needed.

Persistence and backend

  • Added database support for persisted update history.
  • Expanded backend routes for update listing, update execution and rollback execution.
  • Kept update and rollback operations focused on preserving volumes, networks, environment variables and existing service configuration.

Testing and verification

  • Added unit and route coverage for notification transports, notification policies, security advisories, update-manager behavior and update-history persistence.
  • Extended the deterministic E2E test server with update-manager endpoints and failure-mode coverage.
  • Added browser coverage for the notification modal workflow, update-manager workflow, rollback handling and load-error states.
  • Verified the release with:
    • python3 -m py_compile app.py config.py routes.py sampler.py update_manager.py users_db.py tests/test_routes.py tests/test_update_manager.py tests/test_users_db.py tests/e2e_server.py
    • .venv/bin/python -m pytest -q
    • npx playwright test tests/e2e/dashboard.spec.js

Release metadata

  • Updated the application default version to v0.9.0 in runtime configuration, Docker Compose defaults and documentation.
  • Updated CHANGELOG.md and README release-facing references for the new version.

Don't miss a new dockerstats release

NewReleases is sending notifications on new releases.