Automated installation script for installing DVMHost on Raspberry Pi OS (64-bit).
- Automated installation of all prerequisites
- Netbird VPN installation
- Pre-built DVMHost binary download from Centrunk/dvmbins
- Automatic architecture detection (arm64, armhf, amd64)
- Platform verification (Raspberry Pi OS Bookworm/Trixie 64-bit)
- Systemd service installation for Control Channel (CC) and Voice Channel (VC)
- One-liner installation support
Run this command on your Raspberry Pi:
curl -fsSL https://raw.githubusercontent.com/Centrunk/hotspot-installer/main/install.sh | sudo bashOr with wget:
wget -qO- https://raw.githubusercontent.com/Centrunk/hotspot-installer/main/install.sh | sudo bash# Clone this repository
git clone https://github.com/Centrunk/hotspot-installer.git
cd hotspot-installer
# Make the script executable
chmod +x install.sh
# Run the installation
sudo ./install.sh# Full installation
sudo ./install.sh
# Non-interactive mode (no prompts)
sudo ./install.sh -y
# Skip Netbird installation
sudo ./install.sh --skip-netbird
# Skip systemd service installation
sudo ./install.sh --skip-services
# Show help
./install.sh --help- curl
- wget
- xz-utils
- stm32flash
- Netbird - VPN client for secure networking
- DVMHost - Digital Voice Modem host software (pre-built binary)
/opt/centrunk/
├── dvmhost/ # DVMHost binary
│ └── dvmhost # Pre-built binary
└── configs/ # Configuration files
├── configCC.yml # Control Channel config (you create this)
└── configVC.yml # Voice Channel config (you create this)
/var/log/centrunk/ # Log directory
centrunk.cc.service- Control Channel servicecentrunk.vc.service- Voice Channel service
You need to create your configuration files before starting the services:
# Create/edit Control Channel config
sudo nano /opt/centrunk/configs/configCC.yml
# Create/edit Voice Channel config
sudo nano /opt/centrunk/configs/configVC.yml# Start Control Channel
sudo systemctl start centrunk.cc.service
# Start Voice Channel
sudo systemctl start centrunk.vc.service
# Check status
sudo systemctl status centrunk.cc.service
sudo systemctl status centrunk.vc.servicesudo netbird up# Start services
sudo systemctl start centrunk.cc.service
sudo systemctl start centrunk.vc.service
# Stop services
sudo systemctl stop centrunk.cc.service
sudo systemctl stop centrunk.vc.service
# Restart services
sudo systemctl restart centrunk.cc.service
sudo systemctl restart centrunk.vc.service
# View logs
sudo journalctl -u centrunk.cc.service -f
sudo journalctl -u centrunk.vc.service -f
# Disable services
sudo systemctl disable centrunk.cc.service
sudo systemctl disable centrunk.vc.serviceThis repository includes GitHub Actions workflows that automatically test the installation script on:
- Raspberry Pi OS 64-bit (ARM64) - Using QEMU emulation
- Shell script syntax - Using shellcheck
- Script logic - Basic functionality tests
Tests run on every push and pull request.
- Raspberry Pi OS 64-bit (Bookworm or newer recommended)
- Raspberry Pi 3, 4, or 5 (64-bit capable)
- Internet connection
- Root/sudo access
If the DVMHost binary download fails, check:
- Internet connectivity
- GitHub is accessible
- Correct architecture is detected
# Check your architecture
uname -m
# Manual download (for arm64)
wget https://github.com/Centrunk/dvmbins/raw/master/dvmhost-arm64.tar.xz
tar -xJf dvmhost-arm64.tar.xz
sudo cp dvmhost /opt/centrunk/dvmhost/
sudo chmod +x /opt/centrunk/dvmhost/dvmhost- Verify configuration files exist:
ls -la /opt/centrunk/configs/- Check service logs:
sudo journalctl -u centrunk.cc.service -n 50- Verify binary exists:
ls -la /opt/centrunk/dvmhost/dvmhostThis installation script is provided as-is. DVMHost is a separate project with its own license - see the DVMHost repository for details.