Getting started
This guide runs DBO Studio on your machine: API, web UI, optional sample databases, and the desktop app.
Prerequisites
| Tool | Version | Needed for |
|---|---|---|
| Go | 1.23 or newer | API |
| Node.js | 20.12.2 or newer | UI and build |
| Docker | optional | Sample Postgres / MySQL |
| Rust + WebView deps | stable | Desktop only |
Run the API
From the backend directory:
cd backend
cp .env.example .env
go run .
The .env copy is optional — defaults are enough for local work. The API listens on http://localhost:8080 unless you set APP_PORT. See Configuration.
go run . serve is the same command.
For hot reload, run Air in that directory.
Run the UI
cd frontend
cp .env.example .env
npm install
npm run dev
Vite serves http://localhost:3000 and proxies API calls to http://localhost:8080/api when VITE_PUBLIC_SERVER_URL is unset.
Sample databases
If the API and UI already run on the host, start only the sample engines:
docker compose -f docker-compose.dev.yml up -d sample-pgsql sample-mysql
| Engine | Host | Credentials |
|---|---|---|
| Postgres | localhost:5432 | default / secret, database default |
| MySQL | localhost:3307 | default / secret, database default |
To run API, UI, and samples together:
docker compose -f docker-compose.dev.yml up -d
Note: That Compose file is for development. Production is a single image — see Docker.
Port clashes on the host are overridden with DB_TEST_PORT and MYSQL_TEST_PORT. The full list is in Configuration.
Desktop
From the repository root:
make desktop-dev
This builds the backend sidecar and starts the Tauri dev app.
Next steps
- Building — release binaries, Docker image, installers
- Testing — Playwright
- Configuration — every environment variable