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

For Linux systems and Raspberry Pi, use the provided installation script:

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

The installer will:

  • Build the release binary
  • Create necessary directories
  • Guide you through configuration (sysop password, serial port, etc.)
  • Set up systemd service for automatic startup
  • Install to /opt/meshbbs

Skip to First Run after installation completes.

Option B: Manual Installation (All Platforms)

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. Create Configuration

# Copy example configuration
cp config.example.toml config.toml

4. Set Sysop Password

# Interactively set the sysop password
./target/release/meshbbs sysop-passwd

This creates a hashed password in your config.toml file.

Topics are automatically seeded into data/topics.json on first startup. Topics are managed at runtime and not configured in TOML.

5. 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