Installation Guide

This guide will walk you through installing and setting up meshbbs on your system.

Prerequisites

  • Rust 1.82+ - Install from rustup.rs
  • Meshtastic Device - Any compatible device (T-Beam, Heltec, etc.)
  • Connection - USB cable or Bluetooth capability

Installation Steps

1. Clone the Repository

git clone --recurse-submodules https://github.com/martinbogo/meshbbs.git
cd meshbbs

Note: The --recurse-submodules flag is important for including Meshtastic protobuf definitions.

2. Build the Project

# Debug build for development
cargo build

# Release build for production
cargo build --release

3. Initialize Configuration

# Create default configuration
./target/release/meshbbs init

This creates a config.toml file with default settings.

It also seeds default forum topics into data/topics.json (the runtime topic store). From now on, topics are managed at runtime and not configured in TOML. If you have an older config.toml with [message_topics.*], those will be merged into the runtime store at startup for backward compatibility.

4. Configure Your BBS

Edit the generated config.toml file:

[bbs]
name = "Your BBS Name"
sysop = "sysop"
location = "Your Location"
zipcode = "12345"

[meshtastic]
port = "/dev/ttyUSB0"  # Adjust for your system
baud_rate = 115200

[storage]
data_dir = "./data"
max_message_size = 230

5. Set Sysop Password

./target/release/meshbbs sysop-passwd

6. Start Your BBS

./target/release/meshbbs start

Platform-Specific Notes

Linux

  • Device typically at /dev/ttyUSB0 or /dev/ttyACM0
  • May need to add user to dialout group: sudo usermod -a -G dialout $USER

macOS

  • Device typically at /dev/tty.usbserial-*
  • May need to install serial drivers for some devices

Windows

  • Device typically at COM3, COM4, etc.
  • Check Device Manager for the correct port

Verification

Once started, you should see output similar to:

INFO BBS 'Your BBS Name' started by your_admin_username
INFO Meshtastic device connected on /dev/ttyUSB0
INFO Ready for connections

Your BBS is now ready for users to connect via the Meshtastic network!

Next Steps