Installation Guide
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
Option A: Automated Installation (Linux/Raspberry Pi - Recommended)
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-submodulesflag 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/ttyUSB0or/dev/ttyACM0 - May need to add user to
dialoutgroup: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
- Configuration Guide - Detailed configuration options
- First Run Guide - Initial setup and testing
- Troubleshooting - Common issues and solutions