- Go 1.22+
make
git clone https://github.com/cloudbase/garm
cd garm
make buildThe garm and garm-cli binaries will be in ./bin/.
If you have Docker or Podman installed, you can build static binaries against musl for both AMD64 and ARM64:
make build-staticVERSION=v1.0.0 make buildImportant
Version overrides only work with make build, not make build-static.
GARM ships with a Svelte-based web UI. To rebuild it you need:
- Node.js 24+ and npm
openapi-generator-cliin your PATH
npm install -g @openapitools/openapi-generator-cliVerify:
openapi-generator-cli versionIf you modify anything in webapp/src/, rebuild the UI before rebuilding GARM:
make build-webui
make buildImportant
The Web UI build uses go generate stanzas that require @openapitools/openapi-generator-cli and tailwindcss. If you change API models, ensure the Web UI still works -- changing JSON tags or adding fields will change the generated client code.
If you change models in the params/ package, regenerate both the CLI and Web UI clients:
make generateThen verify the web app still compiles and works.