Offline Updates Without USB Stick

Hi everyone,

For reasons beyond our control, we have use-cases where we must perform an offline update (no internet on source or target device) without access to the USB port, but rather through a local Wi-Fi network connection.

Background Info:

Using an IoT Gateway 8 with a balena-cloud-TestFleet-iot-gate-imx8-6.5.34+rev7-v17.0.3.img development image. The device has local mode enabled.

What I’ve Tried:

  1. Balena Deploy : Doesn’t work without internet as it requires a login.
  2. Balena Push : I receive the error below even though I have the image locally.
  3. Balena SSH : This would in principal allow me to pull a compressed archive that has all my images, load them with Balena, and then run the containers, but this involves many manual steps and I don’t know if the containers would just get wiped afterwards.

Balena Push Error:

PS C:\Users\serveradmin\Downloads\balena> balena push 192.168.137.104
[Info]    Starting build on device 192.168.137.104
[Info]    Converting line endings CRLF -> LF for file: C:\Users\serveradmin\Downloads\balena\docker-compose.yml
Some services failed to build:
        nginx: (HTTP code 404) unexpected - manifest for nginx:4.4.0 not found: manifest unknown: manifest unknown

cat docker-compose.yml
version: "2.4"
services:
  nginx:
    container_name: nginx
    hostname: nginx
    image: nginx:4.4.0
    network_mode: host
    restart: always

PS C:\Users\serveradmin\Downloads\balena> docker images
REPOSITORY                                           TAG           IMAGE ID       CREATED        SIZE
nginx                                                4.4.0         fb76f0a364f9   7 hours ago    282MB

Is there a better/established way to do this?

1 Like