# Manage/update applications on an offline device

**URL:** <https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319>\
**Category:** Product support\
**Created:** [June 12, 2018, 2:24pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319 "2018-06-12T14:24:51Z")\
**Posts on this page:** 20\
**Page:** 1

<div class="post-metadata">

**Author:** ![aliasbits](https://avatars.discourse-cdn.com/v4/letter/a/71c47a/32.png) [@aliasbits](https://forums.balena.io/u/aliasbits)\
**Post date:** [June 12, 2018, 2:24pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/1 "2018-06-12T14:24:51Z")

</div>

Question:

Is it possible to support/manage devices which for various reasons are no longer connected to the internet and only on LAN hence manually update.

All connected devices will get their updates as expected, but all offline devices will not.

I know of the ‘resin local’ calls, but it does not seems to allow management of applications (docker containers). It is possible to stop applications via ‘resin local stop’, but as I understand it is not possible to start/update existing applications. ‘resin local push’ talks about some form of update of a container, but is unsure if this is applicable. Is this possible in some way to manage/update applications (docker container) on LAN only device?

Manually started applications (docker containers) are not recognized by the dashboard after reconnection. Is it possible to start existing or new applications on a LAN device and ensure these are discovered after reconnect to the dashboard?

---

<div class="post-metadata">

**Author:** ![sqweelygig](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/sqweelygig/32/150_2.png) [@sqweelygig](https://forums.balena.io/u/sqweelygig)\
**Post date:** [June 12, 2018, 3:58pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/3 "2018-06-12T15:58:32Z")

</div>

`resin local push` is only for development at this stage. We are looking at ways of performing [resin.io](http://resin.io) updates without an internet connection, and I’ve attached this topic as a +1 on that. This should also mean that this topic gets updated with progress.

---

<div class="post-metadata">

**Author:** ![aliasbits](https://avatars.discourse-cdn.com/v4/letter/a/71c47a/32.png) [@aliasbits](https://forums.balena.io/u/aliasbits)\
**Post date:** [June 13, 2018, 7:08am UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/5 "2018-06-13T07:08:34Z")

</div>

Update:

Found [https://github.com/resin-io/resin-cli/issues/613](https://github.com/resin-io/resin-cli/issues/613) which is related. Seems to provide a CLI interface change proposal for update of LAN only devices. Status of issue is unknown

---

<div class="post-metadata">

**Author:** ![sqweelygig](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/sqweelygig/32/150_2.png) [@sqweelygig](https://forums.balena.io/u/sqweelygig)\
**Post date:** [June 13, 2018, 6:31pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/6 "2018-06-13T18:31:43Z")

</div>

So further to the details on that issue the multicontainer update has happened and gone well, but otherwise that issue has no secrets and is transparent.

---

<div class="post-metadata">

**Author:** ![krix](https://avatars.discourse-cdn.com/v4/letter/k/b9bd4f/32.png) [@krix](https://forums.balena.io/u/krix)\
**Post date:** [December 11, 2018, 2:25pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/7 "2018-12-11T14:25:31Z")

</div>

I vote for this: a way to update an offline device. We really need this!

---

<div class="post-metadata">

**Author:** ![brownjohnf](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/brownjohnf/32/142_2.png) [@brownjohnf](https://forums.balena.io/u/brownjohnf)\
**Post date:** [December 14, 2018, 8:55pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/10 "2018-12-14T20:55:37Z")

</div>

Can you elaborate more on:

1. What exactly you mean by “offline”? Is it broken-offline, or merely intermittently offline?
2. What your use case is?
3. Which part do you want to update? The OS? Containers? Config?

I don’t really see a way to update a truly offline device, since there’d be no way of reaching it.

---

<div class="post-metadata">

**Author:** ![krix](https://avatars.discourse-cdn.com/v4/letter/k/b9bd4f/32.png) [@krix](https://forums.balena.io/u/krix)\
**Post date:** [December 18, 2018, 2:55pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/14 "2018-12-18T14:55:44Z")

</div>

I would like to use balena for devices that always has a user interface and an operator on location.  
Some of these machines may be required to be offline for security reasons.  
I never use rolling updates, I point each single machine to a specific application release.

Most important would be to update the containers. It could be that someone inserts a USB stick in the device, logs on and performs some commands to apply an image from the USB stick.

I would this to be as close to a normal “online” upgrade as possible. So the persistent /data should be preserved, the device ID and Balena environment variables should be preserved. If the device later comes online it should not reappear as online in the balena backend, and of course report its current release.

---

<div class="post-metadata">

**Author:** ![imrehg](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/imrehg/32/36_2.png) [@imrehg](https://forums.balena.io/u/imrehg)\
**Post date:** [December 18, 2018, 4:48pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/15 "2018-12-18T16:48:24Z")

</div>

Hi @krix, that is not a use case that we support at the moment. I’ve taken note, as this was something indeed that was requested before, and to signal towards the team that there are more people wanting it.

I have played around with a few ideas, but so far can’t think of a way that you could work around this in an offline environment, unfortunately…

What kind of security reasons the devices need to be completely offline for, by the way? Are they fully offline, or could e.g. connect through a proxy that is controlled by the location? Maybe we have some more ideas along the way.

---

<div class="post-metadata">

**Author:** ![krix](https://avatars.discourse-cdn.com/v4/letter/k/b9bd4f/32.png) [@krix](https://forums.balena.io/u/krix)\
**Post date:** [December 18, 2018, 8:02pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/16 "2018-12-18T20:02:53Z")

</div>

The devices we have in the field will have data stored on the disk that is very confidential and sensitive for our end user.  
We can promise and explain a lot about encryption and NDAs etc, but for some customers that just doesn’t make it. As soon as we ask for any internet connection they become concerned.

Can you explain more about what you mean by a proxy and how that could mitigate the concern?

---

<div class="post-metadata">

**Author:** ![brownjohnf](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/brownjohnf/32/142_2.png) [@brownjohnf](https://forums.balena.io/u/brownjohnf)\
**Post date:** [December 18, 2018, 9:42pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/40 "2018-12-18T21:42:22Z")

</div>

It’s interesting that you bring this up, because we’ve been discussing such a feature internally. We have some ideas about how it could work, and a few customers interested in it. One option we’re considering is something USB-based, like you describe. It’s nice to know that you’re interested in this as well.

If you’d like, I can connect you with someone from our customer success team for further conversation.

---

<div class="post-metadata">

**Author:** ![bversluijs](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/bversluijs/32/3954_2.png) [@bversluijs](https://forums.balena.io/u/bversluijs)\
**Post date:** [December 19, 2018, 3:26pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/42 "2018-12-19T15:26:20Z")

</div>

We would also love the USB-based updating, just in case there is no internet connection at a customer and we would like to update their device.

So keep me posted!

---

<div class="post-metadata">

**Author:** ![zestyping](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/zestyping/32/1453_2.png) [@zestyping](https://forums.balena.io/u/zestyping)\
**Post date:** [January 6, 2019, 10:44pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/43 "2019-01-06T22:44:28Z")

</div>

Hi @brownjohnf, I’m interested in doing updates from a USB stick as well. Our use case is a fleet of devices installed in a field medical context where there is no Internet access or unreliable, low-bandwidth access that cannot handle large downloads. We’d like to be able to distribute updates to our devices via sneakernet, i.e. to provide update packages that people can download onto a USB stick and physically take into the field to apply the updates.

Could you please loop me into the conversation about this? Thank you!

---

<div class="post-metadata">

**Author:** ![KingRial](https://avatars.discourse-cdn.com/v4/letter/k/57b2e6/32.png) [@KingRial](https://forums.balena.io/u/KingRial)\
**Post date:** [January 7, 2019, 7:56am UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/44 "2019-01-07T07:56:45Z")

</div>

If any open discussion will be offered I’d like to join too: by adding this feature balena offers a complete distribution mechanism ^^

---

<div class="post-metadata">

**Author:** ![krix](https://avatars.discourse-cdn.com/v4/letter/k/b9bd4f/32.png) [@krix](https://forums.balena.io/u/krix)\
**Post date:** [January 11, 2019, 10:39am UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/51 "2019-01-11T10:39:16Z")

</div>

Wauv, I am happy to see there is a big interest for this. I think this could be a killer feature for Balena. And without being too dramatic, the lack of offline upgrade options could potentially be a showstopper for us, forcing us to migrate to another solution.  
Is there any thing we as a community can do to help or encourage work on this?

---

<div class="post-metadata">

**Author:** ![lekkas](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/lekkas/32/78_2.png) [@lekkas](https://forums.balena.io/u/lekkas)\
**Post date:** [January 15, 2019, 11:55am UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/56 "2019-01-15T11:55:14Z")

</div>

Thank you for the feedback everyone, this feature request is in our radar and I’ve bumped it up for a product discussion. We will keep this thread updated.

---

<div class="post-metadata">

**Author:** ![lekkas](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/lekkas/32/78_2.png) [@lekkas](https://forums.balena.io/u/lekkas)\
**Post date:** [January 15, 2019, 11:55am UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/57 "2019-01-15T11:55:21Z")

</div>

Thank you for the feedback everyone, this feature request is in our radar and I’ve bumped it up for a product discussion. We will keep this thread updated.

---

<div class="post-metadata">

**Author:** ![krix](https://avatars.discourse-cdn.com/v4/letter/k/b9bd4f/32.png) [@krix](https://forums.balena.io/u/krix)\
**Post date:** [May 13, 2019, 10:34am UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/60 "2019-05-13T10:34:09Z")

</div>

Is it possible to (mis)use local mode to upgrade a device which is offline? I found that some [new features have been introduced around local mode](https://github.com/balena-io/balena-cli/issues/613#issuecomment-454810345), so I wondered if I am overlooking a possible work around?

Besides that: Any news about this from your roadmap discussions?

---

<div class="post-metadata">

**Author:** ![lucianbuzzo](https://sea2.discourse-cdn.com/balena/user_avatar/forums.balena.io/lucianbuzzo/32/615_2.png) [@lucianbuzzo](https://forums.balena.io/u/lucianbuzzo)\
**Post date:** [May 13, 2019, 2:13pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/62 "2019-05-13T14:13:54Z")

</div>

Its certainly possible to use local mode to upgrade a device that is not connected to our API, provided you can connect to it using a local IP. However local mode requires that you use a development image and for security reasons, development images should not be used in the field ( see [https://www.balena.io/docs/reference/OS/overview/2.x/#dev-vs-prod-images](https://www.balena.io/docs/reference/OS/overview/2.x/#dev-vs-prod-images) ).  
I’ve reached out to the rest of the team to see if they have suggestions that I’m not aware of and we’ll update you once we have more information

---

<div class="post-metadata">

**Author:** ![samothx](https://avatars.discourse-cdn.com/v4/letter/s/c89c15/32.png) [@samothx](https://forums.balena.io/u/samothx)\
**Post date:** [May 13, 2019, 9:24pm UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/65 "2019-05-13T21:24:16Z")

</div>

Hi,  
looks like offline updates - e.g. from USB - are on the road map but are not expected to be implemented this year.  
So for now it seems your best chance would be local mode or getting the devices online for a short period of time.  
Only other option I could think of would be using your own ‘trusted’ environment using open-balena: [https://www.balena.io/open/](https://www.balena.io/open/). It is probably a bit of an overkill though…  
Regards  
Thomas

---

<div class="post-metadata">

**Author:** ![krix](https://avatars.discourse-cdn.com/v4/letter/k/b9bd4f/32.png) [@krix](https://forums.balena.io/u/krix)\
**Post date:** [May 15, 2019, 7:58am UTC](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319/71 "2019-05-15T07:58:20Z")

</div>

Yeah, I think local mode is a no-go, because of the security concerns.  
Another work-around I am considering is to do a reinstall from a USB disk image, just like I normally do when setting up a new device.  
The challenges here would be:

1. How can I preserve or restore the /persistent partition in a safe way?
2. Can I preserve/restore the device ID and other persistent Balena data as well?

[Next page](https://forums.balena.io/t/manage-update-applications-on-an-offline-device/3319.md?page=2)
