What the app sets up for you
Docker is required. Most of getting it is a button. This page is what you press and what happens next, per platform.
Docker
One administrator prompt on Linux installs Docker, gVisor and the access you need, with no restart and no log-out. On Mac and Windows the app downloads the official installer, checks it against Docker's published checksum and opens it.
| What you do | What the app does | Where |
| Open the app with no Docker | The banner offers Install. It is not red on first sight | all |
| Press Install on Linux | One administrator prompt. One script installs your distribution's own Docker packages with Compose and Buildx, enables the service, adds you to the docker group, installs gVisor, registers its runtime, restarts the daemon and verifies it as root | Ubuntu 24.04 and later and its flavours, Linux Mint, Fedora 40 and later |
| Nothing after that | Docker is reachable at once. The script grants you access to the Docker socket, so there is no restart and no log-out. Where that is unavailable the app relaunches itself into the group | Linux |
| Press Install on Mac or Windows | Downloads the official Docker Desktop installer for your architecture, verifies it against Docker's published checksum, refuses a mismatch, and opens it. On a Mac the disk image is opened for the drag, so no password is asked | macOS, Windows |
| On an Apple silicon Mac | Asks for Rosetta 2 first and says why | macOS |
| Docker is installed but stopped | A calm strip with a Start Docker button. No password dialog until you press it | all |
| Cancel the password prompt | Stops at once. Shows the manual commands and a Try again button | Linux |
| Type the wrong password | Your operating system owns the retries. One prompt per press | Linux |
| Docker Desktop is still copying on a Mac | The app waits without touching the bundle, so the "damaged" dialog never appears | macOS |
The app finds the Docker command itself, including the places a Finder-launched app
cannot see, and tells three states apart: running, stopped, and installed but not
reachable by you. Each has its fix in the app. A check that did not finish is shown as
stale rather than as a failure.
gVisor
| What you do | What the app does |
| Nothing extra on Linux | gVisor is part of the same install and the same prompt. The success panel names it and does not offer it again |
| Run on a Mac or Windows | No gVisor and no nag. Docker Desktop's virtual machine is the isolation |
| The gVisor download fails | Retries with widening gaps, then reports amber naming the missing piece. Docker still works |
| Your kernel cannot run it | The project uses the default runtime with a warning that links to the install |
The firewall
| What you do | What the app does |
| Turn on container management with ufw active | One administrator prompt adds the one rule the policy proxy needs. Whether the rule works is checked from inside the container, so showing the panel needs no password |
| Move projects to their own networks | One prompt for the whole batch of rules |
| Do it from your phone | The same rule, relayed to the desktop. It cannot elevate without a person at the machine |
Other firewalls and the manual commands: Letting Docker through your firewall.
Projects
| What you do | What the app does |
| Press Browse for a folder | A native dialog opens and can create a folder. Where the desktop's own dialog is broken, the app falls back to another system chooser, then to its own picker |
| Create a project from a browser or phone | The app makes the folder on the machine that runs it |
| Give it a git URL | Cloned into the container on first start, with your key |
| Pick a port | Each row after the first is filled with the next number. Check says whether a port is free, counting stopped projects too |
| Save with Docker changes | The app offers the restart, with a confirmation if it would discard work |
| Connect two projects | A private network between them, nothing else |
| Delete a project | Stopped, kept 30 days in the recycle bin, restorable with its tasks |
Providers
| What you do | What the app does |
| Paste an API key when creating a project | Encrypted before it is stored. Checked by shape. Never shown again |
| Add a self-hosted server | Asked for its models. Listed with an online dot. Address per device, list per account |
| Connect a GitLab repository | Sign in once, in any browser or on a phone. A deploy key is created for that repository and the sign-in is forgotten |
Running
| What you do | What the app does |
| Drag to To Do | Runs, in order, one at a time per project |
| Close the app | Containers keep running until you stop them. The queue resumes on the next start. Interrupted runs are re-queued |
| Hit a rate limit | The queue holds with a sentence and resumes itself, or shows Resume when a press is needed |
| Get asked a question on your phone | Answer in the comments. A new run starts on the desktop with your answer |
| Upgrade the app | A restore point is taken before the database changes. Restoring is one press on the next start |
Updates and the desktop
| What you do | What the app does |
| Install the deb or rpm | Updates come with your system updates |
| Use the AppImage | It updates itself and repoints your menu entry to the new file at once |
| Use a Mac | From the Applications folder it updates itself when you restart |
| Use Windows | You are told when a release is out |
| Close the window | Hides to the tray where there is one, minimises where there is none |
| Take a screenshot on Wayland | The system asks, the app draws. On X11, no dialog |
The rule behind all of it
Every control whose work happens on the desktop is shown on every surface and disabled
with a reason when the desktop is away. A hidden button is indistinguishable from a
missing feature. Every fallback is in the app. The manual commands are the last tier,
never the first. Which platforms this has been run on: OS support.