Building

DBO Studio ships three ways: a web UI embedded in the API (the Docker image), standalone API binaries, and Tauri desktop installers.

Version

Release tags come from the version file used by CI and desktop publish. Bump that file before you cut a release.

Backend binary

The API needs CGO because the app metadata database is SQLite.

From the repository root:

bash
make build

That produces a platform-tagged binary under desktop/bin/. Equivalent:

bash
sh ./docs/scripts/build_backend.sh

Frontend production build

bash
cd frontend
npm install
npm run build

This typechecks and writes static assets to frontend/dist/. The Docker image and desktop build both consume that output.

Docker image

A multi-stage Dockerfile at the repository root:

  1. Builds the frontend
  2. Compiles the API with the release tag and embeds the UI
bash
docker build -t dbo-local .

How to run the image, mount data, and upgrade is in Docker.

Published tags on GHCR:

text
ghcr.io/dbo-studio/dbo/dbo:<VERSION>
ghcr.io/dbo-studio/dbo/dbo:latest

Desktop installers

You need a Rust toolchain and the platform WebView dependencies. See the Tauri prerequisites.

bash
cd frontend && npm install
make desktop-build

Installers land under the Tauri target/release/bundle/ tree.

make desktop-dev rebuilds the sidecar and runs the app with hot reload.

Before you open a pull request

bash
cd backend && go fmt ./... && golangci-lint run && go build ./...
cd frontend && npm run lint && npm run build
cd e2e && npm test

Product behavior is covered by Playwright only. Do not add new Go or frontend unit tests for user-visible features — see Testing.

Previous

Getting started

Next

Testing