diff --git a/.github/workflows/openfleet-file-update.yml b/.github/workflows/openfleet-file-update.yml index b5f89a47..eeaef3e2 100644 --- a/.github/workflows/openfleet-file-update.yml +++ b/.github/workflows/openfleet-file-update.yml @@ -25,7 +25,7 @@ jobs: fi echo "FLEET=$FLEET" >> $GITHUB_ENV - + - name: Trigger PR action in ${{ env.FLEET }} repo uses: peter-evans/repository-dispatch@v2 with: diff --git a/.github/workflows/push-to-prod-nebraos-cloud-draft.yml b/.github/workflows/push-to-prod-nebraos-cloud-draft.yml index 627b43c8..098d8ec6 100644 --- a/.github/workflows/push-to-prod-nebraos-cloud-draft.yml +++ b/.github/workflows/push-to-prod-nebraos-cloud-draft.yml @@ -42,7 +42,7 @@ jobs: miner="${{ matrix.sbc }}" repo="helium-$miner" - if [[ "$miner" == "nebra-indoor1" ]] || [[ "$miner" == "nebra-indoor2" ]] || [[ "$miner" == "nebra-outdoor1" ]] || [[ "$miner" == "nebra-outdoor2" ]] || [[ "$miner" == "bobcat-px30" ]] || [[ "$miner" == "bobcat-rk3566" ]] ; then + if [[ "$miner" == "nebra-indoor1" ]] || [[ "$miner" == "nebra-indoor2" ]] || [[ "$miner" == "nebra-outdoor1" ]] || [[ "$miner" == "nebra-outdoor2" ]] || [[ "$miner" == "bobcat-px30" ]] || [[ "$miner" == "bobcat-rk3566" ]] || [[ "$miner" == "linxdot-rk3566" ]] ; then variant="$miner" elif [[ "$miner" == "og" ]] ; then variant="helium-fl1" diff --git a/.github/workflows/push-to-prod-nebraos-cloud.yml b/.github/workflows/push-to-prod-nebraos-cloud.yml index f6f6e2b6..e52447a8 100644 --- a/.github/workflows/push-to-prod-nebraos-cloud.yml +++ b/.github/workflows/push-to-prod-nebraos-cloud.yml @@ -48,7 +48,7 @@ jobs: miner="${{ matrix.sbc }}" repo="helium-$miner" - if [[ "$miner" == "nebra-indoor1" ]] || [[ "$miner" == "nebra-indoor2" ]] || [[ "$miner" == "nebra-outdoor1" ]] || [[ "$miner" == "nebra-outdoor2" ]] || [[ "$miner" == "bobcat-px30" ]] || [[ "$miner" == "bobcat-rk3566" ]] ; then + if [[ "$miner" == "nebra-indoor1" ]] || [[ "$miner" == "nebra-indoor2" ]] || [[ "$miner" == "nebra-outdoor1" ]] || [[ "$miner" == "nebra-outdoor2" ]] || [[ "$miner" == "bobcat-px30" ]] || [[ "$miner" == "bobcat-rk3566" ]] || [[ "$miner" == "linxdot-rk3566" ]] ; then variant="$miner" elif [[ "$miner" == "og" ]] ; then variant="helium-fl1" diff --git a/.github/workflows/push-to-testnet-nebraos-cloud-draft.yml b/.github/workflows/push-to-testnet-nebraos-cloud-draft.yml index 9b6384cd..1e4e17f3 100644 --- a/.github/workflows/push-to-testnet-nebraos-cloud-draft.yml +++ b/.github/workflows/push-to-testnet-nebraos-cloud-draft.yml @@ -54,7 +54,7 @@ jobs: fleet="helium-testnet-og" repo="helium-og" repo2="None" - elif [[ "$miner" == "bobcat-px30" ]] || [[ "$miner" == "bobcat-rk3566" ]] ; then + elif [[ "$miner" == "bobcat-px30" ]] || [[ "$miner" == "bobcat-rk3566" ]] || [[ "$miner" == "linxdot-rk3566" ]] ; then variant="$miner" fleet="helium-testnet-$miner" repo="helium-$miner" @@ -122,7 +122,7 @@ jobs: tag: TESTNET-${{ env.LATEST_GA }}-${{ env.day }} overwrite: true body: "TESTNET: This is helium-miner-software release TESTNET-${{ env.LATEST_GA }}-${{ env.day }}" - + - name: Trigger build action in ${{ env.REPO }} repo uses: peter-evans/repository-dispatch@v2 with: diff --git a/.github/workflows/push-to-testnet-nebraos-cloud.yml b/.github/workflows/push-to-testnet-nebraos-cloud.yml index b13ccef4..375b56e4 100644 --- a/.github/workflows/push-to-testnet-nebraos-cloud.yml +++ b/.github/workflows/push-to-testnet-nebraos-cloud.yml @@ -60,7 +60,7 @@ jobs: fleet="helium-testnet-og" repo="helium-og" repo2="None" - elif [[ "$miner" == "bobcat-px30" ]] || [[ "$miner" == "bobcat-rk3566" ]] ; then + elif [[ "$miner" == "bobcat-px30" ]] || [[ "$miner" == "bobcat-rk3566" ]] || [[ "$miner" == "linxdot-rk3566" ]] ; then variant="$miner" fleet="helium-testnet-$miner" repo="helium-$miner" @@ -128,7 +128,7 @@ jobs: tag: TESTNET-${{ env.LATEST_GA }}-${{ env.day }} overwrite: true body: "TESTNET: This is helium-miner-software release TESTNET-${{ env.LATEST_GA }}-${{ env.day }}" - + - name: Trigger build action in ${{ env.REPO }} repo uses: peter-evans/repository-dispatch@v2 with: diff --git a/README.md b/README.md index a5ab8279..29b6fbbc 100644 --- a/README.md +++ b/README.md @@ -182,7 +182,7 @@ In the future, we also plan to add [Nebra dashboard](https://dashboard.nebra.com - [Controllino / Conelcom](https://github.com/NebraLtd/helium-controllino) - [Pisces (P100)](https://github.com/NebraLtd/helium-pisces) - [Linxdot (RasPi CM4 version)](https://github.com/NebraLtd/helium-linxdot) -- [Linxdot (ROCK / Radxa CM3 version)](https://github.com/NebraLtd/helium-linxdot-rkcm3) +- [Linxdot (RK3566 version)](https://github.com/NebraLtd/helium-linxdot-rk3566) - [Helium OG (RasPi 3 and RasPi 4 version)](https://github.com/NebraLtd/helium-og) - [Pycom (RasPi CM4 version)](https://github.com/NebraLtd/helium-pycom) - [Cotx (X3)](https://github.com/NebraLtd/helium-cotx) @@ -192,7 +192,7 @@ In the future, we also plan to add [Nebra dashboard](https://dashboard.nebra.com - [Finestra / Mimiq](https://github.com/NebraLtd/helium-finestra) - [Rising HF](https://github.com/NebraLtd/helium-risinghf) - [Midas](https://github.com/NebraLtd/helium-midas) -- [Bobcat](https://github.com/NebraLtd/helium-bobcat-px30) +- [Bobcat PX30](https://github.com/NebraLtd/helium-bobcat-px30) Are you a hotspot manufacturer that wants to add support for your existing or upcoming hotspots? A hotspot owner wanting to help add support for aditional hardware variants? We are always looking to add additional devices here and would be more than happy to discuss integration and collaboration. We also accept contributions and you can read more about how to contribute [below](#how-to-add-new-type-of-hotspots). If you have any questions or want to discuss this in more detail then please reach out to us via [GitHub Issues](https://github.com/NebraLtd/helium-miner-software/issues) or by creating a ticket on [our support site](https://support.nebra.com). diff --git a/balena/workflows/build-open-fleet.yml b/balena/workflows/build-open-fleet.yml index 180aaa23..45f85644 100644 --- a/balena/workflows/build-open-fleet.yml +++ b/balena/workflows/build-open-fleet.yml @@ -15,7 +15,7 @@ env: bobcat-px30: 2.115.3 balena-bobcat-rk3566-image: 2023.08.15 bobcat-rk3566: 2.115.3 - balena-linxdot-rk3566-image: 2023.10.12 + balena-linxdot-rk3566-image: 2023.10.16 linxdot-rk3566: 2.115.3 cloud: nebra-cloud @@ -48,13 +48,13 @@ jobs: echo "Upstream Branch: $UPSTREAM_BRANCH" - uses: actions/checkout@v3 - with: + with: ref: ${{ env.BRANCH }} - uses: actions/setup-python@v4 with: - python-version: '3.11' - + python-version: '3.11' + - name: Generate Docker Compose run: | mkdir templates @@ -68,7 +68,7 @@ jobs: miner="$(echo ${{ github.event.repository.name }} | cut -d '-' -f2-)" echo "Repo: $miner" - if [[ "$miner" =~ "nebra" ]] || [[ "$miner" =~ "bobcat" ]] ; then + if [[ "$miner" =~ "nebra" ]] || [[ "$miner" =~ "bobcat" ]] || [[ "$miner" =~ "linxdot" ]] ; then variant="$miner" elif [[ "$miner" == "og" ]] ; then variant="helium-fl1" @@ -82,7 +82,7 @@ jobs: FIRMWARE_SHORT_HASH=${{ env.FIRMWARE_SHORT_HASH }} python gen_docker_compose_by_variant.py "$variant" -o docker-compose.yml - + - name: Determine if Raspberry Pi 3 if: env.BRANCH == 'master' run: | diff --git a/docker-compose.yml b/docker-compose.yml new file mode 100644 index 00000000..09721824 --- /dev/null +++ b/docker-compose.yml @@ -0,0 +1,125 @@ +version: '2' + +services: + + gateway-config: + image: nebraltd/hm-config:arm64-c01e889 + depends_on: + - dbus-session + - helium-miner + - diagnostics + environment: + - FIRMWARE_VERSION=v1.0.2-42 + - FIRMWARE_SHORT_HASH=FFFFF4 + - DBUS_SYSTEM_BUS_ADDRESS=unix:path=/host/run/dbus/system_bus_socket + - DBUS_SESSION_BUS_ADDRESS=unix:path=/session/dbus/session_bus_socket + restart: on-failure + privileged: true + cap_add: + - NET_ADMIN + volumes: + - miner-storage:/var/data + - dbus:/session/dbus + - nebra:/var/nebra + labels: + io.balena.features.sysfs: 1 + io.balena.features.kernel-modules: 1 + io.balena.features.dbus: 1 + stop_signal: SIGINT + + packet-forwarder: + image: nebraltd/hm-pktfwd:a79d9a7 + depends_on: + - multiplexer + restart: always + privileged: true + volumes: + - pktfwdr:/var/pktfwd + - nebra:/var/nebra + environment: + - FIRMWARE_VERSION=v1.0.2-42 + - FIRMWARE_SHORT_HASH=FFFFF4 + labels: + io.balena.features.sysfs: 1 + io.balena.features.procfs: 1 + + multiplexer: + image: nebraltd/hm-multiplexer:a1fc09b + restart: always + depends_on: + - helium-miner + labels: + io.balena.features.sysfs: 1 + io.balena.features.procfs: 1 + volumes: + - nebra:/var/nebra + environment: + - FIRMWARE_VERSION=v1.0.2-42 + - FIRMWARE_SHORT_HASH=FFFFF4 + expose: + - "1681" + + helium-miner: + image: nebraltd/hm-gatewayrs:arm64-1bd542e + depends_on: + - diagnostics + cap_add: + - SYS_RAWIO + privileged: true + restart: always + expose: + - "1680" + - "4467" + ports: + - "44158:44158/tcp" + environment: + - FIRMWARE_VERSION=v1.0.2-42 + - FIRMWARE_SHORT_HASH=FFFFF4 + volumes: + - pktfwdr:/var/pktfwd + - miner-storage:/var/data + - nebra:/var/nebra + + diagnostics: + image: nebraltd/hm-diag:arm64-16b483c + depends_on: + - dbus-session + environment: + - FIRMWARE_VERSION=v1.0.2-42 + - FIRMWARE_SHORT_HASH=FFFFF4 + - DIAGNOSTICS_VERSION=16b483c + - DBUS_SYSTEM_BUS_ADDRESS=unix:path=/host/run/dbus/system_bus_socket + volumes: + - pktfwdr:/var/pktfwd + - miner-storage:/var/data + - watchdog-log:/var/watchdog + - nebra:/var/nebra + ports: + - "80:80" + cap_add: + - SYS_RAWIO + restart: always + privileged: true + labels: + io.balena.features.sysfs: 1 + io.balena.features.procfs: 1 + io.balena.features.dbus: 1 + io.balena.features.supervisor-api: 1 + io.balena.features.balena-api: 1 + + dbus-session: + image: balenablocks/dbus:rpi-0.0.2 + restart: always + volumes: + - dbus:/session/dbus + environment: + - DBUS_ADDRESS=unix:path=/session/dbus/session_bus_socket + - FIRMWARE_VERSION=v1.0.2-42 + - FIRMWARE_SHORT_HASH=FFFFF4 + +volumes: + miner-storage: + pktfwdr: + dbus: + nebra: + watchdog-log: \ No newline at end of file