This repo uses Conventional Commits.
Build Dependencies
- Node.JS for UI development
- Go 1.21 or greater for server development
- goreleaser
go install github.com/goreleaser/goreleaser@latest
To Edit Protobuffers
apt install -y protobuf-compiler
go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@latest
go install github.com/bufbuild/buf/cmd/[email protected]
go install github.com/fullstorydev/grpcurl/cmd/grpcurl@latest
go install google.golang.org/protobuf/cmd/protoc-gen-go@latest
go install connectrpc.com/connect/cmd/protoc-gen-connect-go@latest
npm install -g @bufbuild/protoc-gen-es @connectrpc/protoc-gen-connect-es
(cd webui && npm i && npm run build)
(cd cmd/backrest && go build .)
You can also use VSCode with Dev Containers
extension to quickly get up and running with a working development and debugging environment.
- Make sure Docker and VSCode with Dev Containers extension is installed
- Clone this repository
- Open this folder in VSCode
- When propmpted, click on
Open in Container
button, or run> Dev Containers: Rebuild and Reopen in Containers
command - When container is started, go to
Run and Debug
, chooseDebug Backrest (backend+frontend)
and run it
Provided launch configuration has hot reload for typescript frontend.