Alpine Linux package repository for Ham Radio software, hosted on GitHub Pages.
- Web: https://apk.pistar.uk
- Repository: https://apk.pistar.uk/v{version}/community
| Package | Description | Components | Upstream |
|---|---|---|---|
| mmdvmhost | MMDVM Host Software & Calibration Tool | MMDVMHost, MMDVMCal, RemoteCommand | MMDVMHost & MMDVMCal |
| Package | Description | Components | Upstream |
|---|---|---|---|
| dstarrepeater | D-Star Repeater Controller | dstarrepeaterd, dstarrepeaterconfig | DStarRepeater |
| Package | Description | Components | Upstream |
|---|---|---|---|
| dmrclients | DMR Gateway and Cross-Mode converters | DMRGateway, DMR2YSF, DMR2NXDN | DMRGateway & MMDVM_CM |
| dstarclients | D-Star Gateway and tools | DStarGateway, dgwremotecontrol, dgwtexttransmit, dgwtimeserver, dgwvoicetransmit | DStarGateway |
| ysfclients | YSF Gateway, Parrot, DGId Gateway and Cross-Mode converters | YSFGateway, YSFParrot, DGIdGateway, YSF2DMR, YSF2NXDN, YSF2P25 | YSFClients & MMDVM_CM |
| nxdnclients | NXDN Gateway, Parrot and Cross-Mode converter | NXDNGateway, NXDNParrot, NXDN2DMR | NXDNClients & MMDVM_CM |
| p25clients | P25 Gateway and Parrot | P25Gateway, P25Parrot | P25Clients |
| pocsagclients | POCSAG/DAPNET Gateway for paging | DAPNETGateway | DAPNETGateway |
| fmclients | FM Gateway for analog-to-digital bridging | FMGateway | FMGateway |
| aprsclients | APRS Gateway between APRS-IS and RF | APRSGateway | APRSGateway |
- Alpine 3.22 (latest)
- Alpine 3.21
x86_64- 64-bit Intel/AMDarmhf- 32-bit ARM (armv6, includes Raspberry Pi GPIO support)aarch64- 64-bit ARM (includes Raspberry Pi GPIO support)
Add the repository and install packages on your Alpine Linux system:
# Add repository (replace 3.22 with your Alpine version)
echo "https://apk.pistar.uk/v3.22/community" >> /etc/apk/repositories
# Add public key
wget -O /etc/apk/keys/hamradio.rsa.pub https://apk.pistar.uk/hamradio.rsa.pub
# Update and install
apk update
# Install all packages
apk add mmdvmhost aprsclients dmrclients dstarclients dstarrepeater \
fmclients nxdnclients p25clients pocsagclients ysfclients
# Or install specific packages
apk add mmdvmhost # MMDVM Host only
apk add dstarrepeater # D-Star Repeater Controller
apk add dstarclients # D-Star Gateway clientsAll packages include OpenRC init scripts with logical service names:
# Configure services (configs stored under package directories)
cp /etc/mmdvmhost/MMDVM.ini.example /etc/mmdvmhost/MMDVM.ini
cp /etc/dmrclients/DMRGateway.ini.example /etc/dmrclients/DMRGateway.ini
cp /etc/ysfclients/YSFGateway.ini.example /etc/ysfclients/YSFGateway.ini
cp /etc/dstarrepeater/dstarrepeater.conf.example /etc/dstarrepeater/dstarrepeater.conf
# Start services
rc-service mmdvmhost start # MMDVM Host
rc-service dmrgateway start # DMR Gateway
rc-service ysfgateway start # YSF Gateway + Parrot
rc-service dgidgateway start # DGId Gateway
rc-service nxdngateway start # NXDN Gateway + Parrot
rc-service p25gateway start # P25 Gateway + Parrot
rc-service dstargateway start # D-Star Gateway
rc-service dstarrepeater start # D-Star Repeater Controller
# Cross-mode converters
rc-service ysf2dmr start # YSF to DMR
rc-service ysf2nxdn start # YSF to NXDN
rc-service ysf2p25 start # YSF to P25
rc-service dmr2ysf start # DMR to YSF
rc-service dmr2nxdn start # DMR to NXDN
rc-service nxdn2dmr start # NXDN to DMR
# Enable at boot
rc-update add mmdvmhost default
rc-update add dmrgateway default
rc-update add dstarrepeater defaultPackages are built using GitHub Actions. To trigger a build:
- Go to Actions
- Select "Build APK Packages" workflow
- Click "Run workflow"
- Select options:
- Package: Choose specific package or "all"
- Alpine Version: Choose specific version or "all"
- Click "Run workflow"
The build process:
- Clones source from upstream git repositories
- Builds for all architectures using QEMU emulation
- Signs packages with repository private key
- Generates repository indexes
- Deploys to GitHub Pages
The repository monitors upstream repositories for changes and automatically rebuilds packages when updates are detected.
Packages use date-based versioning with git commit tracking:
- Format:
YYYY.MM.DD-r0 - Example:
2025.01.01-r0 - Git commit hash is embedded in the package metadata
All packages and indexes are signed with RSA keys:
- Public Key: https://apk.pistar.uk/hamradio.rsa.pub
- Private Key: Stored securely in GitHub Secrets
MMDVM_APK/
βββ .github/workflows/ # GitHub Actions workflows
β βββ build-packages.yml
βββ packages/community/ # Package definitions
β βββ mmdvmhost/
β βββ dstarrepeater/ # D-Star Repeater Controller
β βββ dmrclients/ # DMRGateway, DMR2YSF, DMR2NXDN
β βββ dstarclients/ # DStarGateway and tools
β βββ ysfclients/ # YSFGateway, YSFParrot, DGIdGateway, YSF2*
β βββ nxdnclients/ # NXDNGateway, NXDNParrot, NXDN2DMR
β βββ p25clients/ # P25Gateway, P25Parrot
β βββ pocsagclients/ # DAPNETGateway
β βββ fmclients/ # FMGateway
β βββ aprsclients/ # APRSGateway
β βββ APKBUILD # Build recipe
β βββ *.initd # OpenRC init scripts
β βββ *.confd # Configuration defaults
βββ keys/ # Public keys (private keys in GitHub Secrets)
βββ scripts/ # Build and maintenance scripts
βββ docs/ # Documentation
βββ index.html # Repository landing page
The repository follows a logical grouping structure:
- Protocol-specific clients:
dmrclients,dstarclients,ysfclients,nxdnclients,p25clients- Each contains the main gateway, parrot/test tools, and cross-mode converters where applicable
- Repeater controllers:
dstarrepeater- Complete D-Star repeater system - Core software:
mmdvmhost- The main MMDVM host software - Single-purpose clients:
aprsclients,pocsagclients,fmclients
- Create package directory:
packages/community/{package_name}/ - Add APKBUILD file with build instructions
- Add OpenRC init scripts and configuration files
- Test locally with Docker (optional)
- Commit and run workflow
See docs/CONTRIBUTING.md for detailed instructions.
Test builds locally using Docker:
# Clone repository
git clone https://github.com/MW0MWZ/MMDVM_APK.git
cd MMDVM_APK
# Test build (requires Docker)
./scripts/build-package.sh mmdvmhost x86_64 3.22
./scripts/build-package.sh dmrclients x86_64 3.22
./scripts/build-package.sh dstarrepeater x86_64 3.22- Building Packages - Detailed build process
- APK Signing - Package signing details
- Contributing - How to contribute
Contributions are welcome! Please:
- Fork the repository
- Create a feature branch
- Add your package following the guidelines
- Submit a pull request
All packages must be Ham Radio related and build from source.
- Repository infrastructure: MIT License
- Individual packages maintain their upstream licenses
- All packages: GPL-2.0-or-later
MW0MWZ - andy@mw0mwz.co.uk
- Repository: https://github.com/MW0MWZ/MMDVM_APK
- Issues: https://github.com/MW0MWZ/MMDVM_APK/issues
- Web Interface: https://apk.pistar.uk
- Sister DEB Repository: https://deb.pistar.uk
Built with β€οΈ for the Amateur Radio community by Andy Taylor (MW0MWZ)