This release adds 3 notable features for engineering teams evaluating rollout.
✓ No known CVEs patched in this version
Topics
+3 more
Summary
AI summaryIntroduces native Docker containerization and unified persistent data mapping for Switch Dashboard.
Full changelog
Release Notes: v2026.5.2 (Docker Deployment & Persistent Storage)
We are proud to release v2026.5.2 of the Switch Dashboard, introducing native Docker & Docker Compose containerization and standardizing persistent data structures for bulletproof, containerized deployments.
🐳 Dockerization & Portability
Official Dockerfile: A lightweight containerized setup built on top of python:3.11-slim that isolates the entire Python environment, reducing host package management overhead.
Unified docker-compose.yml: Simplifies multi-container network configuration. Out-of-the-box support for custom port remappings (e.g., host 8081 to container 8080) to seamlessly coexist with other services on the host.
💾 Unified Persistent Data Mapping
Environment Configuration: Introduced the DASHBOARD_DATA_DIR environment variable to configure the storage directory (defaults to /data inside the container).
Consolidated State Storage: All configuration, telemetry, history, and backup files are saved in the same directory:
config.json (switches)
settings.json (user interface preferences)
notes.json (custom port descriptions)
counters.json (cumulative interface data)
history_hourly.json & history_daily.json (rolling bandwidth metrics)
/backup/ (on-demand binary switch configuration backups)
Host Volume Persistence: Mount a single host folder (e.g. -v ./data:/data) to retain all metrics and user preferences permanently across container restarts, builds, or migrations.
🛡️ Auto-Initialization Safeguard
Empty Directory Detections: When mounting empty folders or fresh volumes, the dashboard automatically detects the absence of configurations and copies the bundled default config.json configuration file.
Resiliency: This prevents container crash loops due to missing files and ensures the user can immediately access the settings page /config to configure their switches via the Web UI.
📦 Robust Absolute Resource Pathing
Absolute Asset Resolution: Refactored Flask's initialization inside app.py to bind both template_folder and static_folder to absolute file pathways resolved dynamically at startup.
Render Guarantee: Eliminates any relative directory mismatch bugs or rendering errors (TemplateNotFound) regardless of the working directory or container runtime layer.
🔬 Service Integration & Compatibility
Standard Deployments Unaffected: The path resolution falls back cleanly to the local directory when DASHBOARD_DATA_DIR is not set, meaning existing virtual env or systemd LXC deployments (like the one running on IP 192.168.1.32) continue to run smoothly with zero adjustments.
Weekly OSS security release digest.
The CVE patches and breaking changes that affected production tools this week. One email, every Sunday.
No spam, unsubscribe anytime.
Share this release
About byte4geek/switch-dashboard
All releases →Related context
Related tools
Beta — feedback welcome: [email protected]