MeshMonitor v2.4.0
This release focuses on critical security hardening and dramatically simplified deployment for new users.
Important Note for Reverse Proxy Users
If you are using a Reverse Proxy, you will need to add a few new variables to your Docker Compose setup:
ALLOWED_ORIGINS=https://servername
COOKIE_SECURE=true
TRUST_PROXY=true
Without these, you'll just get a white page.
๐ Security Improvements
Phase 1 Critical Security Hardening (#183)
Comprehensive security audit and implementation of critical fixes:
- Helmet.js Security Headers: Environment-conditional CSP, HSTS, and security headers
- CORS Whitelist Protection: Origin validation with
ALLOWED_ORIGINSsupport - CSRF Protection: Modern double-submit cookie pattern replacing deprecated
csurf - Multi-tier Rate Limiting: Environment-aware rate limits (10k req/15min dev, 1k prod)
- SESSION_SECRET Enforcement: Required in production with clear error messages
- Request Size Limits: 10MB body size protection
- Removed Vulnerable Dependencies: Eliminated deprecated
csurfpackage
Security Score Improvement: 6/10 โ 8/10
- โ 0 critical vulnerabilities (was 4)
- โ 0 high vulnerabilities (was 4)
- โ OWASP Top 10 compliance: 50% โ 75%
๐ Simplified Deployment
One-Line Quick Start (#184)
Getting started is now under 60 seconds with minimal configuration:
# Only ONE environment variable required!
cat > docker-compose.yml << 'EOF'
services:
meshmonitor:
image: ghcr.io/yeraze/meshmonitor:latest
container_name: meshmonitor
ports:
- "8080:3001"
volumes:
- meshmonitor-data:/data
environment:
- MESHTASTIC_NODE_IP=192.168.1.100
restart: unless-stopped
volumes:
meshmonitor-data:
EOF
docker compose up -dWhat Changed?
- โ Works over HTTP out of the box (no HTTPS required)
- โ Auto-generates SESSION_SECRET (no manual setup)
- โ Secure cookies automatically configured
- โ Development mode as default for simple deployments
- โ No complex configuration needed for basic usage
๐ Documentation Improvements
- Updated homepage Quick Start to match simplified approach
- Added "What Just Happened?" section explaining security defaults
- Comprehensive production deployment checklist
- Added new screenshot images for features
- VitePress configuration improvements
๐ง Dependency Updates
Multiple Dependabot updates merged:
- Vite 5.4.20 โ 7.1.9
- React 18 โ 19
- Concurrently 8.2.2 โ 9.2.1
- TypeScript 5.9.2 โ 5.9.3
- Updated GitHub Actions dependencies
- Development dependencies updated (#171)
๐ CI/CD Improvements
- Added Dependabot auto-merge workflow (#182)
- Updated CodeQL action v2 โ v3 (#106)
- Updated Codecov action v3 โ v5 (#105)
- Improved paths-filter action (#104)
๐ Bug Fixes
- Comprehensive cookie security warnings and diagnostics (#176, #181)
- CSRF token validation now properly enforced on all mutation endpoints
- Rate limiting now environment-aware to prevent false positives in development
โ ๏ธ Breaking Changes
Production Deployments Only:
SESSION_SECRETenvironment variable now required in production mode- Set
NODE_ENV=productionfor production deployments - CSRF tokens now required for all POST/PUT/DELETE/PATCH requests
- Rate limiting enforced (1000 requests per 15 minutes in production)
Development/Home Deployments: No breaking changes - everything works out of the box!
๐ฆ Installation
Docker (Recommended)
docker pull ghcr.io/yeraze/meshmonitor:v2.4.0Kubernetes (Helm)
helm repo add meshmonitor https://yeraze.github.io/meshmonitor
helm install meshmonitor meshmonitor/meshmonitor --version 2.4.0๐ Links
๐ Full Changelog
Features:
Documentation:
- docs: simplify Quick Start to match streamlined deployment (#184)
Dependencies:
- chore(deps-dev): Bump the development-dependencies group (#171)
- chore(deps): Bump codecov/codecov-action from 3 to 5 (#105)
- chore(deps): Bump github/codeql-action from 2 to 3 (#106)
- chore(deps): Bump dorny/paths-filter from 2 to 3 (#104)
- Multiple other dependency updates
Fixes:
Full Changelog: v2.3.1...v2.4.0
๐ค Generated with Claude Code
๐ MeshMonitor v2.4.0
๐ฆ Installation
Docker (recommended):
docker run -d \
--name meshmonitor \
-p 8080:3001 \
-v meshmonitor-data:/data \
ghcr.io/Yeraze/meshmonitor:v2.4.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.