Skip to content

[BUG] MeshCore: Cannot connect to virtual node #3705

Description

@m0urs

Describe the bug
I have enabled the virtual node feature for MeshCore but I am unable to connect to it. I tried with the iOS and the Windows app. It just tells me "Connecting" but nothing happens. I can see connection attempts in the log.I cann

To Reproduce
Enable the Virtual Node feature on port 5000. Then try to connect to the Docker host on port 5000.

Expected behavior
MeshCore app should connect to the virtual node and I should be able to use the app just as I could if I am connected physically to the node.

Log

[INFO] 📱 [MeshCore VN 96a99920-5926-438a-8db4-24c6ccf37746] client disconnected: mcvn-3 (0 remaining)
[INFO] [MeshCore VN 96a99920-5926-438a-8db4-24c6ccf37746] mcvn-3 inactive, disconnecting
[INFO] Virtual node: Parsed message from vn-2: { "heartbeat": {} }
[INFO] Virtual node: Received 2 bytes from vn-2
[INFO] 📱 [MeshCore VN 96a99920-5926-438a-8db4-24c6ccf37746] client disconnected: mcvn-6 (1 remaining)
[INFO] 📱 [MeshCore VN 96a99920-5926-438a-8db4-24c6ccf37746] client connected: mcvn-6 (2 total)
[INFO] Virtual node: Parsed message from vn-1: { "heartbeat": {} }
[INFO] Virtual node: Received 2 bytes from vn-1
[INFO] 📱 [MeshCore VN 96a99920-5926-438a-8db4-24c6ccf37746] client disconnected: mcvn-5 (1 remaining)

Environment (please complete the following information):
Here my Docker YAML file:

services:
  meshmonitor:
    # Use pre-built image from GitHub Container Registry
    #image: ghcr.io/yeraze/meshmonitor:latest
    image: ghcr.io/yeraze/meshmonitor:4.12.0-rc1
    container_name: meshmonitor
    restart: unless-stopped
    ports:
      - "3001:3001"  # Expose on port 3001 for reverse proxy
      - "4403:4403"  # Virtual Node Meshtastic
      - "5000:5000"  # Virtual Node MeshCore
    volumes:
      - meshmonitor-data:/data:rw
    environment:
      - COMPOSE_PROJECT_NAME=meshmonitor
      - NODE_ENV=production
      - TZ=Europe/Berlin
      # Session Secret (REQUIRED for production)
      # Generate with: openssl rand -hex 32
      # This ensures sessions persist across container restarts
      - SESSION_SECRET=XXXXX
      # Meshtastic Node Configuration
      - MESHTASTIC_NODE_IP=192.168.XX.YY
      - MESHTASTIC_USE_TLS=false
      - MESHTASTIC_TCP_PORT=4403
      # Reverse Proxy Settings
      - TRUST_PROXY=true
      - ALLOWED_ORIGINS=https://meshmonitor.acme.com
      # Security Settings for HTTPS
      - COOKIE_SECURE=true
      - COOKIE_SAMESITE=lax
      # Logging
      - ACCESS_LOG_ENABLED=false
      - ACCESS_LOG_PATH=/data/logs/access.log
      - ACCESS_LOG_FORMAT=combined  # Apache Combined Log Format
      # Disable auto-upgrade functionality
      - VERSION_CHECK_DISABLED=true
      - AUTO_UPGRADE_ENABLED=false
      # Variables for scripts
      - PIRATE_WEATHER_API_KEY = "wAFBsRytQHSVvn6QBfFNtGbwdLBGBkxp"
      # MESHCORE
      - MESHCORE_ENABLED=true
      - MESHCORE_TCP_HOST=192.168.XX.YY
      - MESHCORE_TCP_PORT=5000      
    deploy:
      resources:
        limits:
          # cpus: '2.0'
          memory: 512M
        reservations:
          # cpus: '0.5'
          memory: 256M      
volumes:
  meshmonitor-data:
    driver: local
    driver_opts:
      o: bind
      type: none
      device: /volume1/docker/meshmonitor/data

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions