Uninstalling Borago Board, and what stays behind
Effective date: 28 September 2026. Describes Borago Board 0.9.16 and later on Linux, macOS and Windows.
Removing the app removes the app. It does not remove your boards, your project files, your stored credentials, or anything Docker. That is deliberate: an update is a remove followed by an install, and a remove that deleted your boards would delete them on every update. It is also easy to miss, and what stays is large (a project's container image can run to gigabytes) and sensitive (the database holds your encrypted provider credentials), so it is written down here.
After an uninstall these stay on your machine until you delete them yourself:
- Your boards and database: every project, task, comment and chat, plus the secret journal and the whole-board restore points.
- Your project files: each project's Docker files and workspace.
- Docker, gVisor and every project container, image, volume and network, exactly as they were.
Reinstalling picks all of it up again.
What uninstalling removes
The application itself, its menu entry and icon, and the terminal command. On Linux the package also removes its AppArmor profile and the Borago package repository it registered for updates. Nothing under your home folder is touched, and no Docker state is touched.
What stays, and where
Your boards and database
- Linux:
~/.config/Borago Board/holds the database, and~/Borago Board/Projects/the project files. - macOS:
~/Library/Application Support/Borago Board/and~/Borago Board/Projects/. - Windows:
%APPDATA%\Borago Board\and%USERPROFILE%\Borago Board\Projects\.
Inside the first directory there is one folder per account (default, or the account's id), and each holds:
borago.db: every project, task, comment and chatsecret-history.jsonl: the secret journalrestore-points/: whole-board rollbacks taken before an update changed the databaseimages/: attachment byteslogs/borago.log: the app's log
Read this before deleting it. The database holds your provider credentials and project secrets, encrypted, and the secret journal may be the only copy of a value that exists nowhere else. If cloud sync was on, the cloud still has the synced half, but device-local values and anything created while signed out exist only here.
Docker, gVisor and your containers
On Linux the app installs Docker as system packages through your distribution's package manager, and gVisor from its publisher's releases as two programs in /usr/local/bin registered with Docker as a runtime; on macOS and Windows it downloads and launches Docker Desktop's official installer for you. Either way it never owns them afterwards, because other software may depend on them, so removing the board must not remove them. Uninstalling leaves Docker running, gVisor registered as a runtime, and every project container, image and volume as it was.
These are the big ones. A project image is hundreds of megabytes to a few gigabytes, and the board builds a new one whenever a project's Dockerfile changes.
The tidy way is to do it from inside the app, before uninstalling. Deleting a project sends it to the recycle bin; destroying it from there removes that project's whole Docker family: containers, volumes, networks and the images the board built for it. Do that for each project you no longer want, and there is nothing left to find by hand.
If the app is already gone, everything the board created carries a label. To see it:
docker ps -a --filter label=borago.managed=true
docker images --filter label=borago.managed=true
docker network ls --filter label=borago.managed=true
To remove one project's containers, or all of them. The -v matters: it also drops each container's anonymous volumes, which carry no label of their own.
docker ps -a --filter label=borago.project=<project> -q | xargs -r docker rm -f -v
docker ps -a --filter label=borago.managed=true -q | xargs -r docker rm -f -v
docker images --filter label=borago.managed=true -q | xargs -r docker rmi
docker network ls --filter label=borago.managed=true -q | xargs -r docker network rm
On Windows, in PowerShell:
docker ps -a --filter label=borago.project=<project> -q | ForEach-Object { docker rm -f -v $_ }
docker ps -a --filter label=borago.managed=true -q | ForEach-Object { docker rm -f -v $_ }
docker images --filter label=borago.managed=true -q | ForEach-Object { docker rmi $_ }
docker network ls --filter label=borago.managed=true -q | ForEach-Object { docker network rm $_ }
The last line removes the private network the board created for each project and for each pair of connected projects. Run it after the containers are gone, since a network with a container still attached refuses to go.
<project> is the project's folder name under Borago Board/Projects/.
Named volumes, and the network Docker Compose itself made for a project that has not yet been moved onto the board's own, carry Compose's label rather than the board's, so they are found one project at a time:
docker volume ls -q --filter label=com.docker.compose.project=<project> | xargs -r docker volume rm
docker network ls -q --filter label=com.docker.compose.project=<project> | xargs -r docker network rm
On Windows, in PowerShell:
docker volume ls -q --filter label=com.docker.compose.project=<project> | ForEach-Object { docker volume rm $_ }
docker network ls -q --filter label=com.docker.compose.project=<project> | ForEach-Object { docker network rm $_ }
Both usually come back empty for a board project, and that is normal rather than a broken command: the workspace is a folder on your disk rather than a named volume, and a project on the board's own network has no Compose network.
Do this before deleting the project files, not after. A container holding uncommitted work is the one place that work exists, and the project's Docker files are how you would start it again to get the work out.
Docker itself goes the way it came: through your package manager on Linux (apt remove docker.io docker-compose-v2 docker-buildx on Debian and Ubuntu, dnf remove moby-engine docker-compose docker-buildx on Fedora, or whichever packages your distribution installed), or by uninstalling Docker Desktop on macOS and Windows. gVisor was not a package. To remove it, run sudo runsc uninstall, delete /usr/local/bin/runsc and /usr/local/bin/containerd-shim-runsc-v1, and restart Docker with sudo systemctl restart docker. The board has no opinion about any of this and no button for it.
The order that loses nothing
- Get your work out first. Anything committed and pushed is safe. Anything that exists only inside a container is not, and stops being reachable the moment the container goes.
- Remove the app:
apt remove borago-board,dnf remove borago-board, drag it to the Trash, or Windows Settings. - Remove the containers, by label, if you want the disk back.
- Delete
Borago Board/Projects/if you no longer want the Docker files. - Delete the config directory last, and only once you are sure. It is the database, the secret journal and the restore points.
Steps 3 to 5 have no undo.
What the app can do for you before you go
Settings has a Docker disk usage panel that reports what the board's images and build cache are using and can prune the safe parts. Deleted projects sit in a recycle bin for 30 days and can be restored. Neither survives deleting the config directory.
The agreements say the same thing in fewer words: Privacy Policy §5, EULA §10 and Terms §2.