github Yeraze/meshmonitor v2.0.0
v2.0.0 - Authentication & Security Release

latest releases: v2.19.5, v2.19.4, v2.19.3...
one month ago

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 -d

Kubernetes/Helm:

# Delete the release and PVC
helm uninstall meshmonitor
kubectl delete pvc data-meshmonitor-0

# Reinstall
helm install meshmonitor meshmonitor/meshmonitor --version 2.0.0

Local Installation:

# Remove the database file
rm /data/meshmonitor.db

# Restart the application
npm start

Note: 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:

  1. Authentication Required: Previous versions had no authentication. After upgrading:

    • Default admin account created: username admin, password changeme
    • IMPORTANT: Change the default password immediately after first login
    • Anonymous users have read-only access by default
  2. Database Schema Changes: The database will automatically migrate to add authentication tables

    • If migration fails, see "Clean Install" section above
  3. Automation Disabled: If upgrading from a previous version, your automation settings will be preserved. Fresh installations have all automation disabled by default.

Migration Path

  1. BACKUP your database before upgrading (/data/meshmonitor.db)
  2. After upgrade, log in with admin / changeme
  3. Immediately change the admin password
  4. Create additional user accounts as needed
  5. Configure user permissions via the Users tab
  6. 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:latest

Supported 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.

Don't miss a new meshmonitor release

NewReleases is sending notifications on new releases.