A script that creates a local APT mirror from ebusd GitHub Releases — a drop-in replacement for the official ebusd Debian repository.
The official ebusd Debian repository has been shut down. This script automates fetching .deb packages directly from GitHub Releases and exposing them as a proper local APT repository, so you can continue using apt install and apt upgrade as usual.
apt-get install -y dpkg-dev apt-utils wget curl jqThe script auto-detects your distro (bookworm, bullseye, buster) and architecture (amd64, arm64, armv7, 386), queries the GitHub API for the latest release, downloads the matching .deb, builds a full APT index, and registers itself in /etc/apt/sources.list.d/.
sudo bash ebusd-mirror-setup.shWith explicit options:
sudo bash ebusd-mirror-setup.sh --distro bookworm --arch armv7 --mqtt| Option | Description |
|---|---|
--distro |
Debian codename: bookworm, bullseye, buster (auto-detected if omitted) |
--arch |
Architecture: amd64, arm64, armv7, 386 (auto-detected if omitted) |
--mqtt |
Use the MQTT variant (with libmosquitto) |
--update |
Only fetch a newer version if available, rebuild index |
--dir |
Custom mirror directory (default: /opt/ebusd-mirror) |
After the initial setup, use apt as usual:
apt-get install ebusd
apt-get install --only-upgrade ebusdUse --update to check for a new release and refresh the mirror if one is found. The old .deb is removed and the APT index is rebuilt, so apt upgrade will pick up the new version automatically.
sudo bash ebusd-mirror-setup.sh --updateSet up a daily cron job (runs at 4 AM):
echo '0 4 * * * root /path/to/ebusd-mirror-setup.sh --update' >> /etc/cron.d/ebusd-mirrorebusd GitHub Releases follow a consistent naming scheme:
ebusd-VERSION_ARCH-DISTRO[_mqtt1].deb
The script uses this pattern to reliably identify and download the correct package for your system. The local mirror directory structure follows the standard Debian repository layout, making it fully compatible with APT.
MIT