MeshMonitor v2.0.0 - Authentication & Security Release
This is a major release introducing comprehensive authentication, authorization, and security features to MeshMonitor.
⚠️ IMPORTANT: Clean Install Recommended
Due to the significant database schema changes in v2.0.0, we strongly recommend starting with a fresh installation if you encounter any migration issues.
How to Start Fresh
Docker/Docker Compose:
# Stop and remove containers with volumes
docker compose down -v
# Or if using standalone docker:
docker stop meshmonitor
docker rm meshmonitor
docker volume rm meshmonitor-data
# Start fresh
docker compose up -dKubernetes/Helm:
# Delete the release and PVC
helm uninstall meshmonitor
kubectl delete pvc data-meshmonitor-0
# Reinstall
helm install meshmonitor meshmonitor/meshmonitor --version 2.0.0Local Installation:
# Remove the database file
rm /data/meshmonitor.db
# Restart the application
npm startNote: This will delete all stored node data, messages, and settings. The mesh will repopulate as your node receives new packets.
🔐 Major Features
Authentication & Authorization System
- Session-based authentication with secure cookie management
- Local authentication (username/password) with bcrypt password hashing
- OpenID Connect (OIDC) support for enterprise identity providers
- Role-based access control (RBAC) with granular permissions system
- Anonymous user support for read-only public access
- Default password warning banner for security best practices
- Audit logging for all authentication and administrative actions
- User management interface for admins
System Management
- Automatic update notifications - banner alerts when new versions are available
- Container restart functionality from the UI (Docker deployments)
- Version check API - integrates with GitHub releases
- Database-backed settings for automation and configuration persistence
- System status endpoint with uptime, memory usage, and version info
Automation Defaults
- All automation features (traceroute, auto-acknowledge, auto-announce) are now disabled by default on fresh installations
- Provides safer out-of-box experience
📋 Complete Changelog
Features
- feat: disable all automation features by default on fresh install (#152)
- feat: add update notification banner with GitHub release check (#148)
- feat: migrate automation settings to database and add container restart button (#147)
- feat: v2.0.0 Authentication and Authorization System (#139)
Bug Fixes
- fix: resolve login issues and favorites in 2.0.0-alpha5 (#146)
- fix: prevent pre-releases from being tagged as 'latest' in container registry (#144)
- fix: use npm ci with pre-built binaries for ARM builds (#143)
- fix: replace connect-sqlite3 with better-sqlite3-session-store (#142)
- fix: copy compiled node_modules from builder instead of reinstalling (#141)
- fix: update Dockerfile to use npm install --omit=dev (#140)
Documentation
- docs: update API documentation and README for v2.0.0 features (#149)
🚀 Upgrade Notes
Breaking Changes
⚠️ This is a major version upgrade with breaking changes:
-
Authentication Required: Previous versions had no authentication. After upgrading:
- Default admin account created: username
admin, passwordchangeme - IMPORTANT: Change the default password immediately after first login
- Anonymous users have read-only access by default
- Default admin account created: username
-
Database Schema Changes: The database will automatically migrate to add authentication tables
- If migration fails, see "Clean Install" section above
-
Automation Disabled: If upgrading from a previous version, your automation settings will be preserved. Fresh installations have all automation disabled by default.
Migration Path
- BACKUP your database before upgrading (
/data/meshmonitor.db) - After upgrade, log in with
admin/changeme - Immediately change the admin password
- Create additional user accounts as needed
- Configure user permissions via the Users tab
- If you encounter issues: Follow the "Clean Install" instructions above
📖 Documentation
🐳 Docker Images
Docker images are available for multiple architectures:
docker pull ghcr.io/yeraze/meshmonitor:2.0.0
docker pull ghcr.io/yeraze/meshmonitor:latestSupported architectures:
- linux/amd64
- linux/arm64
- linux/arm/v7
📦 Installation
Docker Compose (Recommended)
version: '3.8'
services:
meshmonitor:
image: ghcr.io/yeraze/meshmonitor:2.0.0
ports:
- "3000:3000"
volumes:
- meshmonitor-data:/data
environment:
- MESHTASTIC_NODE_IP=192.168.1.100
- MESHTASTIC_TCP_PORT=4403
restart: unless-stopped
volumes:
meshmonitor-data:Helm (Kubernetes)
helm repo add meshmonitor https://yeraze.github.io/meshmonitor
helm install meshmonitor meshmonitor/meshmonitor --version 2.0.0🙏 Contributors
Thank you to everyone who contributed to this release!
Full Changelog: v1.18.2...v2.0.0
🚀 MeshMonitor v2.0.0
📦 Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:v2.0.0🧪 Testing
✅ All tests passed
✅ TypeScript checks passed
✅ Docker images built for linux/amd64, linux/arm64, linux/arm/v7
📋 Changes
See commit history for detailed changes.