Skip to content

Getting Started

This guide will help you get MeshManager up and running quickly.

Prerequisites

Quick Start with Docker Compose

Docker Configurator

Need OIDC authentication or custom settings? Use the Docker Configurator to generate a customized compose file.

1. Create a docker-compose.yml file

yaml
services:
  postgres:
    image: postgres:16-alpine
    container_name: meshmanager-db
    environment:
      POSTGRES_DB: meshmanager
      POSTGRES_USER: meshmanager
      POSTGRES_PASSWORD: meshmanager  # Change in production
    volumes:
      - postgres_data:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U meshmanager"]
      interval: 10s
      timeout: 5s
      retries: 5
    restart: unless-stopped

  meshmanager:
    image: ghcr.io/yeraze/meshmanager:latest
    container_name: meshmanager
    ports:
      - "8080:8000"
    environment:
      DATABASE_URL: postgresql+asyncpg://meshmanager:meshmanager@postgres/meshmanager
      SESSION_SECRET: change-me-to-random-string  # Required: generate with `openssl rand -hex 32`
    depends_on:
      postgres:
        condition: service_healthy
    restart: unless-stopped

volumes:
  postgres_data:
    driver: local

Required Configuration

You must change SESSION_SECRET to a random string. Generate one with:

bash
openssl rand -hex 32

2. Start the services

bash
docker compose up -d

3. Access the application

Open your browser to http://localhost:8080

That's it! No complex configuration needed for basic usage.

Version Pinning

To use a specific version instead of latest, change the image tag:

yaml
image: ghcr.io/yeraze/meshmanager:0.5.0

Building from Source

For development or customization, you can build locally:

bash
git clone https://github.com/yeraze/meshmanager.git
cd meshmanager
docker compose -f docker-compose.dev.yml up -d

Initial Configuration

Adding Your First Data Source

  1. Click Admin in the navigation (if authentication is enabled, log in first)
  2. Click Add Source
  3. Choose your source type:
    • MeshMonitor: Enter the URL of your MeshMonitor instance
    • MQTT: Enter your MQTT broker connection details

MeshMonitor Source

To connect to a MeshMonitor instance:

FieldDescriptionExample
NameFriendly name for this sourceHome MeshMonitor
URLBase URL of MeshMonitorhttp://192.168.1.100:5000

MeshManager will poll the MeshMonitor API for:

  • Node information
  • Telemetry data
  • Messages
  • Traceroutes

MQTT Source

To connect to a Meshtastic MQTT broker:

FieldDescriptionExample
NameFriendly name for this sourcePublic MQTT
HostMQTT broker hostnamemqtt.meshtastic.org
PortMQTT port1883
TopicRoot topic to subscribemsh/US/#
UsernameOptional authentication
PasswordOptional authentication

Solar Integration

MeshManager can integrate with Forecast.Solar to:

  • Compare actual vs predicted solar production
  • Identify nodes at risk of low battery
  • Generate automated reports

See Solar Configuration for setup details.

Next Steps