mirror of
https://github.com/MarekWo/mc-webui.git
synced 2026-05-02 11:32:35 +02:00
BREAKING CHANGE: Switched from single-container to multi-container setup This commit introduces a meshcore-bridge service that isolates USB device access from the main application, resolving persistent USB timeout and deadlock issues in Docker + VM environments. Changes: - Add meshcore-bridge/ - Lightweight HTTP API wrapper for meshcli - Flask server exposes /cli endpoint (port 5001, internal only) - Exclusive USB device access via --device flag - Health check endpoint at /health - Refactor app/meshcore/cli.py - Replace subprocess calls with HTTP requests to bridge - Add requests library dependency - Better error handling for bridge communication - Update docker-compose.yml - Define meshcore-bridge and mc-webui services - Create meshcore-net Docker network - Add depends_on with health check condition - Bridge gets USB device, main app uses HTTP only - Modify Dockerfile - Remove meshcore-cli installation from main app - Lighter image without gcc dependencies - Update config.py - Add MC_BRIDGE_URL environment variable - Remove meshcli_command property (no longer needed) - Update documentation (README.md, .claude/instructions.md) - Document 2-container architecture - Add troubleshooting section for bridge - Update prerequisites (no host meshcore-cli needed) - Add architecture diagram in project structure Benefits: ✅ Solves USB device locking after container restarts ✅ Restartable main app without USB reset ✅ Better separation of concerns ✅ Easier debugging (isolated meshcli logs) ✅ No manual USB recovery scripts needed 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
25 lines
364 B
Plaintext
25 lines
364 B
Plaintext
# mc-webui Python Dependencies
|
|
|
|
# Web Framework
|
|
Flask==3.0.0
|
|
Werkzeug==3.0.1
|
|
|
|
# WSGI Server for production
|
|
gunicorn==21.2.0
|
|
|
|
# Configuration
|
|
python-dotenv==1.0.0
|
|
|
|
# Scheduled Tasks
|
|
APScheduler==3.10.4
|
|
|
|
# Date/Time Utilities
|
|
python-dateutil==2.8.2
|
|
|
|
# QR Code Generation
|
|
qrcode==7.4.2
|
|
Pillow==10.1.0
|
|
|
|
# HTTP Client for MeshCore Bridge communication
|
|
requests==2.31.0
|