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:
make build
That produces a platform-tagged binary under desktop/bin/. Equivalent:
sh ./docs/scripts/build_backend.sh
Frontend production build
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:
- Builds the frontend
- Compiles the API with the
releasetag and embeds the UI
docker build -t dbo-local .
How to run the image, mount data, and upgrade is in Docker.
Published tags on GHCR:
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.
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
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.