Note
If you're trying to run the app on macOS from the .dmg image, the daemons will not start. This is caused by the
read-only filesystem of the disk image. You will need to copy it to /Applications or any other filesystem that
is readable.
To build, three github action workflows are present:
Releases can be built only against main by tagging a commit with vX.X.X. The build will automatically start. To fully
release it, mark it as latest manually.
todo))
Every evening at 17:00 (CEST) a build is automatically run against Develop, and will be tagged accordingly to the
package.json version, for example, v3.1.5-DDMMYY-HHMM-nightly. You can also manually trigger a nightly build from
the Github Actions Nightly workflow. It can only be run against develop.
To run the UI without native client daemons, start the HTTP mock servers in synthetic-daemons/ and launch Electros with --no-daemons. See synthetic-daemons/README.md for ports, fixtures, and verification steps.
cd synthetic-daemons && npm install && npm start
# separate terminal:
cd electros-electron && npm start -- --no-daemonsElectros has a set of custom command line switches other than the Electron switches:
--enable-devtoolsenables the devtools for the application--no-daemonsdisables the execution of the embedded daemons (use with synthetic-daemons above)
Note
On macOS, to add a CLI switch, you'll have to append them directly onto the executable:
$ /Applications/Electros.app/Contents/MacOS/Electros # add your CLI switches hereIf you're experiencing performance issues on Linux, check what compositor you're using between X11 and Wayland, if you're using Wayland, add the following switch to force Chromium to use the correct compositor and not fall back onto Xwayland:
$ /opt/Electros/electros --ozone-platform=waylandA protocol electros:// is registered and supports three formats defined below.
In all cases, parameters can be passed to the page, if supported, by inserting them into the URL as URL Query Parameters.
E.g. electros://example/page?uuid=an-uuid&admin=true
When a path to a page is provided, for example, electros://iaas/virtual-machines, that page will be opened.
To open a globally-registered dialog, you can open electros://dialog/dialog-name and that dialog will be opened.
If a given page has a special handler defined, it can be used by providing a path like this:
electros://page/path{specialHandler}?parameter1=loremIpsum
For example, to open a VM's VNC, you can use electros://iaas/virtual-machiens{openVnc}?vmUuid=cfd0d0b0-9538-4043-9e43-3352cf77b8b6
What follows is a table of supported special features by page:
| Page Path | Special Feature | Parameters |
|---|---|---|
iaas/virtual-machines |
openVnc |
vmUuid |