Hello all,
We are developing a product that will have a Compute Module 3+ Lite embedded inside, it will have USB, Wifi (USB Dongle), Ethernet and HDMI capabilities.
My requirements:
I plan to have 2 containers.
-
The first container will be running a node JS server and will be my main app. The expectation is that majority (70%+ ) of my users will be able to connect the product to the internet or their local network and access our application via the browser.
-
The second container is meant for users that are unable to connect the product to a network and need to use the machine as a standalone device. They would plug in a monitor, open up the browser and point it to the server (localhost).
A key requirement is that users will upload files to the node server for processing (think 3D printer)
The problem
I am trying to build out that second container but I am getting extremely poor performance with Chromium. It is extremely unstable and when pages do load, they load very slow.
What I have tried:
I have essentially merged 3 sample projects together:
I am browser agnostic.
I tried installing Midori and Firefox-ESR, performance has improved but it is still not ideal. From my understanding Chromium should be the fastest browser in the latest Raspbian, but I can’t get it to work.
I also tried running WPE but my mouse was extremely laggy, as if skating on ice.
I don’t need a full desktop (kiosk mode is fine), but I do need to be able to browse (file upload) a local USB Flash drive to upload files. I’m not sure how to enable that with WPE
What I find interesting is that when I run Chromium in regular Raspbian, the performance OK (slower than a laptop of course, but usable), so clearly the hardware can handle it.
My questions
- Is docker/balena somehow throttling the network connection?
- Is there a way to allocate more resources to a container?
- Has anybody run into similar issues?
- Am I doing something horrible wrong in my setup?
My setup
My sample folder is here. You’ll see that navigation unusable (if it doesn’t crash)
My config.txt from /mnt/boot/config.txt
hdmi_group=2
hdmi_mode=58
disable_splash=1
dtoverlay=spi1-1cs
dtoverlay=i2c1-bcm2708,sda1_pin=44,scl1_pin=45,pin_func=6
dtoverlay=pi3-disable-bt
dtparam=i2c_arm=on
dtparam=spi=on
dtparam=audio=on
gpu_mem=448
start_x=1
enable_uart=1
I discovered Balena about 2 weeks ago and fell in love with it. I really really want to use this for our product. Our product will be about 50 Kg so once it leaves our building, it isn’t coming back and love the idea of being able to monitor our products, see logs, pin releases and force updates.
However if I’m not able to solve this performance issue I’ll have to go back to my original plan which is to ship a Raspbian image with Docker
If you guys could point me in the right direction that would be awesome!