Files
akvorado/console/data/docs/01-install.md
Vincent Bernat b3e4d8c026
Some checks failed
CI / 🤖 Check dependabot status (push) Has been cancelled
CI / 🐧 Test on Linux (${{ github.ref_type == 'tag' }}, misc) (push) Has been cancelled
CI / 🐧 Test on Linux (coverage) (push) Has been cancelled
CI / 🐧 Test on Linux (regular) (push) Has been cancelled
CI / ❄️ Build on Nix (push) Has been cancelled
CI / 🍏 Build and test on macOS (push) Has been cancelled
CI / 🧪 End-to-end testing (push) Has been cancelled
CI / 🔍 Upload code coverage (push) Has been cancelled
CI / 🔬 Test only Go (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 20) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 22) (push) Has been cancelled
CI / 🔬 Test only JS (${{ needs.dependabot.outputs.package-ecosystem }}, 24) (push) Has been cancelled
CI / ⚖️ Check licenses (push) Has been cancelled
CI / 🐋 Build Docker images (push) Has been cancelled
CI / 🐋 Tag Docker images (push) Has been cancelled
CI / 🚀 Publish release (push) Has been cancelled
docs: document minimum version for Docker
See https://github.com/akvorado/akvorado/issues/2153.
2025-12-08 12:16:59 +01:00

3.9 KiB

Installation

Akvorado is written in Go. It provides its 4 components in a single binary or Docker image. It also requires Kafka (1.0+) and ClickHouse (22.4+).

Docker image

You can use the Akvorado Docker image.

# docker pull ghcr.io/akvorado/akvorado:latest
# docker run --rm ghcr.io/akvorado/akvorado:latest help

Check the docker/docker-compose.yml file for an example of how to deploy Akvorado using containers. If you want to use docker compose, see the quick start procedure. This documentation assumes you are using the docker compose setup.

The minimum supported version for Docker Engine is v25 (Docker API 1.44).

If you want to compile the Docker image yourself, use make docker.

Pre-built binary

The second option is to download a pre-built binary from the release page on GitHub. Currently, only a pre-built binary for Linux x86-64 is provided.

Compilation from source

You need to install Go (1.21+), and NodeJS (20+) with PNPM (also accessible through Corepack). For example, on Debian:

# apt install golang nodejs npm
# go version
go version go1.24.1 linux/amd64
# node --version
v20.19.2
# corepack pnpm --version
10.16.1

Then, type:

# make
▶ building golang.org/x/tools/cmd/goimports@latest…
▶ fetching node modules…
▶ formatting code…
▶ building github.com/mgechev/revive@latest…
▶ running lint…
▶ building google.golang.org/protobuf/cmd/protoc-gen-go@v1.28.0…
▶ compiling protocol buffers definition…
▶ building github.com/golang/mock/mockgen@v1.6.0…
▶ generate mocks for ClickHouse driver…
▶ generate ASN map…
▶ building github.com/mna/pigeon@v1.1.0…
▶ generate PEG parser for filters…
▶ generate list of selectable fields…
▶ building console frontend…
vite v3.0.0 building for production...
✓ 2384 modules transformed.
../data/frontend/assets/akvorado.399701ee.svg   93.44 KiB
../data/frontend/index.html                     0.54 KiB
../data/frontend/assets/index.26bdc6d7.css      68.11 KiB / gzip: 9.84 KiB
../data/frontend/assets/index.64c3c8d1.js       1273.41 KiB / gzip: 429.70 KiB
▶ building executable…

The resulting executable is bin/akvorado.

The following make targets are available:

  • make help to get help
  • make to build the binary (in bin/)
  • make test to run tests
  • make test-verbose to run tests in verbose mode
  • make test-race for race tests
  • make test-xml for tests with xUnit-compatible output
  • make test-coverage for test coverage (will output index.html, coverage.xml and profile.out in test/coverage.*/.
  • make test PKG=helloworld/hello to restrict test to a package
  • make clean
  • make lint to lint source code
  • make fmt to format source code

Upgrade

Read the changelog before you upgrade. Upgrade the orchestrator first. This will update the ClickHouse database if needed. Then, upgrade all inlets and outlets. Then the console.

When using docker compose, use the following commands to get an updated docker-compose.yml file and update your installation.

# cd akvorado
# curl -sL https://github.com/akvorado/akvorado/releases/latest/download/docker-compose-upgrade.tar.gz | tar zxvf -
# docker compose pull
# docker compose stop akvorado-orchestrator
# docker compose up --wait

The docker-compose-upgrade.tar.gz tarball contains .env.dist instead of .env, and docker/docker-compose-local.yml.dist instead of docker/docker-compose-local.yml.dist. You may want to check for differences with your setup.

Note

The upgrade can be done from any version to any more recent version. Downgrading is not supported.