Quick Start¶
Get Bedrud running locally for development in under 5 minutes.
Prerequisites¶
| Tool | Version | Purpose |
|---|---|---|
| Go | 1.24+ | Backend server |
| Bun | Latest | Frontend package manager |
| LiveKit Server | Latest | Local media server |
Installing LiveKit locally
On macOS: brew install livekit. On Linux, download the binary from
LiveKit releases.
1. Clone the Repository¶
2. Install Dependencies¶
This runs bun install for the web frontend and go mod tidy && go mod download for the server.
3. Start Development¶
This starts three processes concurrently:
| Process | URL | Description |
|---|---|---|
| LiveKit | localhost:7880 |
WebRTC media server |
| Server | localhost:8090 |
Go REST API |
| Web | localhost:5173 |
Svelte dev server (with HMR) |
Press Ctrl+C to stop all processes.
4. Open the App¶
Navigate to http://localhost:5173 in your browser. You can:
- Register a new account
- Create a meeting room
- Join the room to test video/audio
Running Individual Services¶
If you only need to work on one part:
make dev-web # Frontend only (Svelte dev server)
make dev-server # Backend only (Go server)
make dev-livekit # LiveKit only (media server)
Mobile Development¶
Android¶
Requires Android Studio with JDK 17. The app connects to localhost:8090 by default.
iOS¶
Requires Xcode. Deployment target is iOS 18.0.
Building for Production¶
# Build the single binary (frontend embedded in Go server)
make build
# Build a compressed linux/amd64 tarball
make build-dist
The production binary is at server/dist/bedrud. See the Deployment Guide for server setup.
Next Steps¶
- Configuration Reference — customize ports, database, auth providers
- Architecture Overview — understand how the pieces fit together
- Development Workflow — day-to-day development patterns