Installation #

Docker image #

docker pull nervatura/nervatura:latest

Snap package (Linux daemon) #

sudo snap install nervatura

Checking service status and last logs:

systemctl status -l snap.nervatura.nervatura.service

Default snap data and http.log path: /var/snap/nervatura/common

Node.js NPM #

npm install --save nervatura

Add a run script to your package.json file like this:

"scripts": { "nervatura": "./node_modules/nervatura/bin/nervatura" }

npm run nervatura

Winget (Windows Package Manager) #

winget install --id Nervatura.Nervatura --source winget

Prebuild binaries #

Linux and Windows

Other platforms and custom build #

git clone
cd nervatura/service

Build command:

CGO_ENABLED=0 GOOS=$(OS_NAME) GOARCH=$(ARCH_NAME) go build -tags "$(TAGS)" -ldflags="-w -s -X main.Version=$(VERSION)" -o nervatura main.go

  • $(OS_NAME) and $(ARCH_NAME)

You can see the list of supported platform by running:

go tool dist list
  • $(TAGS) optional modul list: all, http, grpc, postgres, mysql, mssql, sqlite
  • $(VERSION) application version


  go build -tags "http postgres" -ldflags="-w -s -X main.Version=5.1.0" \
  -o nervatura main.go

See more: Building Applications in GoLang

Configuration Options #

The application uses environment variables to set configuration options. It will be read from the .env.example file. Set the environment variables as needed!

The .env file can be created in the current working directory, where the command is executed (in development mode). The name and location of the configuration file can also be specified in the command line parameters:

nervatura -env /path/.env.example