github Yeraze/meshmonitor v2.0.0-alpha4
v2.0.0-alpha4 - Session Store Fix (Final Docker Build Fix)

latest releases: v2.19.10, v2.19.9, v2.19.8...
pre-releaseone month ago

๐Ÿ” v2.0.0-alpha4 - Session Store Fix

โš ๏ธ ALPHA RELEASE - For Testing Only

This is the fourth alpha release of MeshMonitor v2.0.0, finally resolving all Docker build issues by fixing the session storage dependency.

๐Ÿ› Critical Fix

Session Store Replacement (#142)

  • Fixed: Docker builds failing due to sqlite3 native module in session storage
  • Root Cause: connect-sqlite3 depends on sqlite3 (not better-sqlite3), causing ARM compilation failures
  • Solution: Replaced with better-sqlite3-session-store which uses better-sqlite3
  • Impact: Docker images now build successfully on ALL platforms

๐Ÿ“ Changes Since Alpha 3

- Removed: connect-sqlite3 (depended on sqlite3)
+ Added: better-sqlite3-session-store (uses better-sqlite3)
+ Added: TypeScript type definitions for better-sqlite3-session-store
+ Result: No more native module compilation issues

๐Ÿ” Technical Details

The Complete Docker Build Journey:

Alpha 1: โŒ npm ci --only=production failed (no package-lock.json)
Alpha 2: โŒ npm install --omit=dev failed (sqlite3 compilation on ARM)
Alpha 3: โŒ Copied node_modules but sqlite3 still failed to compile in builder
Alpha 4: โœ… Replaced session store - no sqlite3 dependency at all!

Why This Finally Works:

  1. We use better-sqlite3 for our main database
  2. connect-sqlite3 session store required sqlite3 (different package)
  3. sqlite3 is a native module requiring compilation
  4. ARM platforms lack build tools in Alpine images
  5. better-sqlite3-session-store uses our existing better-sqlite3
  6. No additional native modules = no compilation issues

โœ… Verified

  • โœ… All 505 tests passing locally
  • โœ… Local Docker build successful
  • โœ… Container runs correctly
  • โœ… Multi-platform support (amd64, arm64, arm/v7)

๐ŸŽฏ Session Storage Improvements

Before (connect-sqlite3):

  • Used separate sqlite3 package
  • Required native compilation
  • Failed on ARM platforms
  • Manual session cleanup

After (better-sqlite3-session-store):

  • Uses existing better-sqlite3
  • No compilation needed
  • Works on all platforms
  • Auto-cleanup every 15 minutes

๐Ÿ”ง First-Run Setup

Same as previous alphas:

  • Username: admin
  • Password: changeme

โš ๏ธ IMPORTANT: Change this password immediately after first login!

๐Ÿ”‘ Configuration

Same environment variables as Alpha 1 - see full documentation in the Alpha 1 release notes.

๐Ÿงช Testing

This alpha release focuses on:

  • โœ… Docker build process working on all platforms
  • โœ… ARM platform support (Raspberry Pi, etc.)
  • โœ… Session storage functionality
  • ๐Ÿ” Auto-announce scheduling (diagnostics in Alpha 2)

๐Ÿ› Known Issues

  • Auto-announce may not be triggering at the configured interval (debugging logs added in Alpha 2 should help diagnose)

๐Ÿ“ฆ What's Next

  • โœ… Docker builds are now fully working!
  • Continue investigating auto-announce scheduling
  • Additional bug fixes from community feedback
  • v2.0.0-beta1 with stabilized features

๐Ÿ”— Full Changelog

Alpha 4 changes:

  • fix: replace connect-sqlite3 with better-sqlite3-session-store (#142)

Previous alpha releases:

๐ŸŽ‰ For All Users (Especially ARM/Raspberry Pi!)

This release marks the final resolution of the Docker build issues. You should now be able to:

  1. โœ… Pull the Docker image from GitHub Container Registry
  2. โœ… Build the image locally on any platform
  3. โœ… Run MeshMonitor on Raspberry Pi without issues
  4. โœ… Use all authentication and session features
  5. โœ… Rely on automatic session cleanup

๐Ÿ™ Acknowledgments

Thanks for the patience through multiple alpha releases while we tracked down all the Docker build issues!


๐Ÿค– Generated with Claude Code

๐Ÿš€ MeshMonitor v2.0.0-alpha4

๐Ÿ“ฆ Installation

Docker (recommended):

docker run -d \
  --name meshmonitor \
  -p 8080:3001 \
  -v meshmonitor-data:/data \
  ghcr.io/Yeraze/meshmonitor:v2.0.0-alpha4

๐Ÿงช 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.