Building from source
Repository: aaaSaZaN/gowave.
backend-go/- the Go backend (modulegowave).frontend/- the web interface on React, TypeScript and Vite.
Binaries
Section titled “Binaries”Use the Bun version from frontend/package.json (packageManager) and the Go version from backend-go/go.mod.
git clone https://github.com/aaaSaZaN/gowave.gitcd gowave
# Web interfacecd frontendbun install --frozen-lockfilebun run editor:downloadbun run buildbun run editor:compresscd ..
# Backendcd backend-goCGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -ldflags="-s -w" -o gowave-linux-amd64 ./cmd/serverCGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -ldflags="-s -w" -o gowave-linux-arm64 ./cmd/serverThe web interface is not embedded in the binary: the panel looks for frontend/dist next to its working directory.
Docker image
Section titled “Docker image”Build the image from source instead of pulling from ghcr.io:
docker compose -f docker-compose.yml -f docker-compose.build.yml up -d --buildChecks
Section titled “Checks”cd backend-gogo vet ./...go test -race -count=1 ./...Tests use in-memory SQLite by default. For PostgreSQL:
GOWAVE_TEST_POSTGRES='postgres://gowave:gowave@localhost:5432/gowave_test?sslmode=disable' go test -count=1 ./...