Skip to content

Installing Tools

Below are installation commands for each tool needed to develop FluxSend. Skip any you already have.

Go

Download from go.dev or use a package manager:

# Ubuntu / Debian
sudo apt install golang-go

# macOS (Homebrew)
brew install go

# Verify
go version

The project requires Go 1.26 or newer.

GNU Make

# Ubuntu / Debian
sudo apt install make

# macOS
xcode-select --install

# Verify
make --version

Docker & Docker Compose

Install Docker Desktop or the Docker Engine:

# Ubuntu / Debian
sudo apt install docker-ce docker-ce-cli containerd.io docker-compose-plugin

# Verify
docker --version
docker compose version

Compose v2 is bundled with Docker Desktop and the Docker engine package.

Python 3.13+ & MkDocs

# Ubuntu / Debian
sudo apt install python3 python3-venv python3-pip

# macOS (Homebrew)
brew install python@3.14

The project venv is at .venv/. Create or update it:

python3 -m venv .venv
.venv/bin/pip install mkdocs mkdocs-material mkdocs-macros-plugin

Verify:

.venv/bin/mkdocs --version

air (hot reload)

go install github.com/air-verse/air@latest

# Verify
air -v

sqlc (SQL code generation)

go install github.com/sqlc-dev/sqlc/cmd/sqlc@latest

# Verify
sqlc version

swag (Swagger doc generator)

No manual install needed — make swagger runs it via go run. The Makefile pins version v1.16.6.

mockgen (mock generation)

go install go.uber.org/mock/mockgen@latest

# Verify
mockgen -version

govulncheck (security scanner)

go install golang.org/x/vuln/cmd/govulncheck@latest

# Verify
govulncheck -version

gum (interactive CLI helper for make add-doc)

# macOS (Homebrew)
brew install gum

# Linux — download from github.com/charmbracelet/gum/releases
# or use the Go install approach:
go install github.com/charmbracelet/gum@latest

# Verify
gum --version

Verify all at once

go version && make --version && docker --version && docker compose version && \
python3 --version && sqlc version && air -v && mockgen -version && govulncheck -version