Files
meshcore-hub/docs/seeding.md

2.7 KiB

Seed Data

The database can be seeded with node tags and network members from YAML files in the SEED_HOME directory (default: ./seed).

Running the Seed Process

Seeding is a separate process and must be run explicitly:

docker compose -f docker-compose.yml -f docker-compose.dev.yml --profile seed up

This imports data from the following files (if they exist):

  • {SEED_HOME}/node_tags.yaml - Node tag definitions
  • {SEED_HOME}/members.yaml - Network member definitions

Directory Structure

seed/                          # SEED_HOME (seed data files)
├── node_tags.yaml            # Node tags for import
└── members.yaml              # Network members for import

data/                          # DATA_HOME (runtime data)
└── collector/
    └── meshcore.db           # SQLite database

Example seed files are provided in example/seed/.

Node Tags

Node tags allow you to attach custom metadata to nodes (e.g., location, role, owner). Tags are stored in the database and returned with node data via the API.

Node Tags YAML Format

Tags are keyed by public key in YAML format:

# Each key is a 64-character hex public key
0123456789abcdef0123456789abcdef0123456789abcdef0123456789abcdef:
  name: Gateway Node
  description: Main network gateway
  role: gateway
  lat: 37.7749
  lon: -122.4194
  member_id: alice

fedcba9876543210fedcba9876543210fedcba9876543210fedcba9876543210:
  name: Oakland Repeater
  elevation: 150

Tag values can be:

  • YAML primitives (auto-detected type): strings, numbers, booleans
  • Explicit type (when you need to force a specific type):
    altitude:
      value: "150"
      type: number
    

Supported types: string, number, boolean

Network Members

Network members represent the people operating nodes in your network. Members can optionally be linked to nodes via their public key.

Members YAML Format

- member_id: walshie86
  name: Walshie
  callsign: Walshie86
  role: member
  description: IPNet Member
- member_id: craig
  name: Craig
  callsign: M7XCN
  role: member
  description: IPNet Member
Field Required Description
member_id Yes Unique identifier for the member
name Yes Member's display name
callsign No Amateur radio callsign
role No Member's role in the network
description No Additional description
contact No Contact information
public_key No Associated node public key (64-char hex)