Create custom App for OnionOS
-
Hi Community,
I was wondering how to create custom apps for OnionOS. Except for some dead links here (https://onion.io/the-onion-app-sdk-is-here/), I haven't found any kind of documentation. I'd like to create a simple administration app on a browser available GUI. I'd like to use the OnionOS environnement. Else I'd have to build a full server in Django or something (don't know if Django even runs on the Omega).
Thanks,
MK
-
@MK Im not aware of any docmentation, could be wrong, but you can look at the source to ne of the existing apps on Github. Here's the source for the RFID app:
https://github.com/OnionIoT/OOS-App-RFID/tree/master/Console-App-RFID
-
I actually figured this out about a month ago.
1. Create web application. You can use vanillajs or any framework of your preferrence (react, vue, svelte, angular, etc).
2. Make a production build of your project (dist files/static files).
3. Make an
app.json
file, add it to the root of your project and use the following structure:{ "id": "whack-a-mole-game", "name": "Whack A Mole", "icon": "imgs/mole.png", "description": "A Whack A Mole web game" }
4. Drop your project folder (the production build) to
/www/apps/
. Also, I usually renamed it with the prefixoos-app-
, I didn't look too much into it, so I can't tell if it's necessary or not to recognize the app.It is possible to run django on the omega, as the omega can run python 2 & 3.
It is also possible to implement a webserver in your custom application. You just need to understand that the way custom applications are displayed is due to an HTML component called
<iframe>
which fetches and runs embedded web applications retrieved from the providedsrc
attribute.Hint: The
src
component can be a server endpoint which serves static files. I have never tried it, but I'm almost positive it should work.
-
@SUPERMARINE98 Great! Thanks for this nice description!