This is not needed anymore since Docker Engine v23. This version is unmaintained since May 2025 (not that old). See: - https://github.com/moby/moby/pull/44752 - https://github.com/moby/moby/pull/44742 Fix #2153 (in a way)
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 v23.
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 helpto get helpmaketo build the binary (inbin/)make testto run testsmake test-verboseto run tests in verbose modemake test-racefor race testsmake test-xmlfor tests with xUnit-compatible outputmake test-coveragefor test coverage (will outputindex.html,coverage.xmlandprofile.outintest/coverage.*/.make test PKG=helloworld/helloto restrict test to a packagemake cleanmake lintto lint source codemake fmtto 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.