From 168329fff02bd86af1ef7eb2728b772fb9535478 Mon Sep 17 00:00:00 2001 From: Xe Iaso Date: Sat, 29 Mar 2025 20:12:35 -0400 Subject: docs/developer: add build directions for manually building Anubis (#154) Signed-off-by: Xe Iaso --- docs/docs/developer/building-anubis.md | 41 ++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 docs/docs/developer/building-anubis.md (limited to 'docs') diff --git a/docs/docs/developer/building-anubis.md b/docs/docs/developer/building-anubis.md new file mode 100644 index 0000000..157ff8d --- /dev/null +++ b/docs/docs/developer/building-anubis.md @@ -0,0 +1,41 @@ +--- +title: Building Anubis without Docker +--- + +:::note + +These instructions may work, but for right now they are informative for downstream packagers more than they are ready-made instructions for administrators wanting to run Anubis on their servers. + +:::end + +## Tools needed + +In order to build a production-ready binary of Anubis, you need the following packages in your environment: + +- [Go](https://go.dev) - the programming language that Anubis is written in +- [esbuild](https://esbuild.github.io/) - the JavaScript bundler Anubis uses for its production JS assets +- [Node.JS & NPM](https://nodejs.org/en) - manages some build dependencies +- `gzip` - compresses production JS (part of coreutils) +- `zstd` - compresses production JS +- `brotli` - compresses production JS + +## Install dependencies + +```text +go mod download +npm ci +``` + +## Building static assets + +```text +npm run assets +``` + +## Building Anubis to the `./var` folder + +```text +go build -o ./var/anubis ./cmd/anubis +``` + +From this point it is up to you to make sure that `./var/anubis` ends up in the right place. You may want to consult the `./run` folder for useful files such as a systemd unit and `anubis.env.default` file. -- cgit v1.2.3