A minimal docker compose config for running a helium lora gateway on a bobcat 300.
Currently only tested on the G285/29X
Uses the following docker images:
heliumdiy/sx1302_hal- Fast and common pf used by most diy miners.quay.io/team-helium/miner:gateway-latest- Official gateway image
- r00t1ng - suppling the initial missing ldo reset script
- sicXnull has done some amazing work on reverse engineering the bobcat 300. Check out their repos:
- Install the debian image provided by https://github.com/sicXnull/Bobcat300-Debian
- Run a
ssh-copy-id root@192.168.x.xto the host, updatehosts.inifile, change the bobcat root password withpasswd - Set
regionanddevice_modelinbobcat.ymlfile - Install:
ansible-playbook -i hosts.ini bobcat.yml-
Install the debian image provided by https://github.com/sicXnull/Bobcat300-Debian
-
Ensure latest update:
apt update && apt upgrade -y && reboot- Install docker
curl -fsSL https://get.docker.com -o install-docker.sh
sh ./install-docker.sh
systemctl enable --now docker
- Consider adding ssh-keys and disabling password based auth by adding
PasswordAuthentication noto/etc/ssh/ssh_config
Clone the project:
git clone https://github.com/metrafonic/Bobcat300-DebianMinimalDocker bobcat && cd bobcatSelect the appropriate docker compose file for your device:
- G285: Use
docker-compose-G285.yml - G29X: Use
docker-compose-G29X.yml
cp docker-compose-G285.yml docker-compose.yml
Modify the REGION value in your selected docker compose file. The REGION can be one of the following values:
US915 | EU868 | EU433 | CN470 | CN779 | AU915 | AS923 | KR920 | IN865
Start the pf once, so that it creates the region file. We must modify it.
docker compose up -d pktfwd && sleep 1 && docker compose downEdit packet_forwarder/configs/global_conf.json and replace the spidev_path: value:
For G285:
"spidev_path": "/dev/spidev1.0",For G29X:
"spidev_path": "/dev/spidev5.0",Remove the line:
"gps_i2c_path": "/dev/i2c-1",Start again with your selected docker compose file:
docker compose up -d Check the logs (replace with your compose file):
docker compose logs -f --tail=1000Check miner animal name (replace with your compose file):
docker compose exec miner helium_gateway key infoIf you encounter issues:
- Verify the correct docker compose file is being used for your device model
- Check that the
spidev_pathmatches your device (spidev1.0 for G285, spidev5.0 for G29X) - Ensure the region is set correctly in your docker compose file
- Check container logs for errors:
docker compose -f <your-compose-file> logs