Deploy big files (video) to resinified Raspberry


#1

Hi there

I wondered if there is a smarter way to deploy big files. Even for audio files we wait quite a while to deploy it on the raspberry via git. Now we’d like to use a video file to be played, but this is huge for such a workflow.
We wanted to copy it manually to the resin rasp, just by opening the SD Card on our computer, but there you don’t have access to the deployed files.

Is there a smart way to deploy big files?
The best case for us would be:
Push file to github, but copy the file manually to the SD card. When pulling it would be awesome, if the file is already recognized and not downloaded anymore…

thanks for any hints about handling big files.

Cheers


#2

Hey, you’re likely looking for Persistent Storage – note that depending on the operating system you’re using you won’t see partitions with file systems the OS doesn’t support; so you’ll either need ext4 fs drivers, or use Linux to see the other partitions in a resinOS image.


#5

Thank you very much. This looks like what I need. Have a nice day


#7

Well I tried to use Paragon ExtFs (https://www.paragon-software.com/de/home/extfs-mac/) to access linux partitions.
I can see 5 mounted volumens now:
resin-rootA
resin-rootB
resin-state
resin-data
resin-boot

But I can’t find a /data folder.
Do I have to place my big files into the resin-data volume: /resin-data ?
Or where does it got?

Or does it actually not show up first?
I don’t exactly understand what is described on this page:

Does this

Mounting external storage media, such as SD cards or USB thumb drives, within your application (running > inside Docker) works somewhat different compared to mounting devices directly in Linux. Here we include a set of recommendations that helps you can get started.

apply for my case or not?


#8

@Jones, you are correct, you will want to put your files in the resin-data volume. To access the data in resin-data from the container running on your device, you’ll want to make sure that you’ve configured persistent storage in your docker-compose.yml as described here: https://docs.resin.io/learn/develop/multicontainer/#resin-io-settings. If you have a single container application, this setup is done for you automatically. Once that is set up, you should be able to find your files in the /data directory.


#10

Thank you very much.
Somehow we had problems finding the folder in our mounted ext4 volumes.
We got it to work.


#11

@Jones, glad you got it to work. I realize now that my instructions weren’t especially clear, so I’ll make sure to clarify for anyone else trying this.

Prior to multicontainer support, we stored persistent data in the directory /mnt/data/resin-data/<APP ID>. With the new multicontainer supervisor, we now use named volumes, so persistent data is at /mnt/data/docker/volumes/<APP ID>_resin-data/_data. You can use balena volume ls to see all named volumes.

I’m updating our docs to include this additional info, as use cases like yours are pretty tricky without it!