Application Overview
Application Definition
In abcdesktop.io, an application is an OCI-compliant container image. abcdesktop.io uses the OCI Image Specification to describe and manage application images. The docker inspect command exports the full OCI JSON metadata for a given image:
docker inspect $YOUR_IMAGE_NAME > file.json
abcdesktop.io-compatible images must include a set of well-defined OCI labels. These labels are read by the pyos control plane to register, classify, and launch the application. Example labels:
LABEL oc.icon="firefox.svg"
LABEL oc.keyword="firefox,mozilla,internet"
LABEL oc.cat="office"
LABEL oc.launch="Navigator.Firefox"
LABEL oc.name="Firefox"
LABEL oc.path="/usr/bin/firefox"
LABEL oc.type=app
Installing Applications
Multiple installation methods are supported to accommodate different deployment workflows:
- Use the default installation script: bash script
- Use the Admin Web UI console: Admin Console
- Submit a REST API request using
curlto POST the OCI JSON metadata to the API service
Replace
ABCDESKTOP_URL,ABCDESKTOP_PORT, andfile.jsonwith values appropriate for your deployment.
ABCDESKTOP_URL=localhost
ABCDESKTOP_PORT=30443
URL="http://$ABCDESKTOP_URL:$ABCDESKTOP_PORT/API/manager/image"
curl -X POST -H 'Content-Type: text/javascript' "$URL" -d "@file.json"
Default Application Repository
abcdesktop.io provides a curated set of default application images. These images are published in the abcdesktop images repository, along with the corresponding json metadata files and Dockerfile build definitions.
All default images support the Remote Browser Isolation (RBI) and Remote Application Isolation (RAI) model: each application runs as a dedicated, isolated container, and only the rendered graphical output is streamed to the client.
Example: Firefox Application JSON Descriptor
The following is an example of a firefox.d.4.4.json OCI image descriptor file, as generated by docker inspect:
[
{
"Id": "sha256:09895c74c9e5252f3eef74db878cbd6399cd1f26314d46e3f5aa589022e3d26e",
"RepoTags": [
"ghcr.io/abcdesktopio/firefox.d:4.4"
],
"RepoDigests": [
"ghcr.io/abcdesktopio/firefox.d@sha256:d4cce0dbe65f7cbf6fb70528d1df54f2e2ae40df373ac1fa2ef7e8a0d96d8b99"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2026-02-28T11:36:41.181120224Z",
"DockerVersion": "",
"Author": "",
"Config": {
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"DEBCONF_FRONTEND=noninteractive",
"TERM=linux",
"NODE_MAJOR=24",
"LANG=en_US.utf8",
"ARGS=--no-remote",
"APPNAME=Firefox",
"APPBIN=/usr/bin/firefox",
"APP=/usr/bin/firefox"
],
"Labels": {
"oc.acl": "{\"permit\":[\"all\"]}",
"oc.args": "--no-remote",
"oc.cat": "office",
"oc.desktopfile": "firefox.desktop",
"oc.displayname": "Firefox (ubuntu)",
"oc.fileextensions": "htm;html;xml;gif",
"oc.icon": "circle_firefox.svg",
"oc.keyword": "firefox,firefox,mozilla,web,internet",
"oc.launch": "Navigator.firefox",
"oc.legacyfileextensions": "htm;html;xml",
"oc.mimetype": "text/html;text/xml;application/xhtml+xml;application/xml;application/rss+xml;application/rdf+xml;x-scheme-handler/http;x-scheme-handler/https;x-scheme-handler/ftp;video/webm;application/x-xpinstall;",
"oc.name": "Firefox",
"oc.path": "/usr/bin/firefox",
"oc.rules": "{\"homedir\":{\"default\":true}}",
"oc.secrets_requirement": "[\"ntlm\",\"kerberos\"]",
"oc.showinview": "dock",
"oc.type": "app"
}
},
"Architecture": "amd64",
"Os": "linux"
}
]