Source: https://seerepo.com/r/gravitl/netmaker/built
Markdown source: https://seerepo.com/r/gravitl/netmaker/built.md
Description: netmaker is a Go repo built with Gorilla. It stores its data in Postgres and SQLite and reaches it with gorm.io/gorm and gorm.io/datatypes.

# What is netmaker built with?

netmaker is a Go repo built with Gorilla. It stores its data in Postgres and SQLite, reaches it with gorm.io/gorm and gorm.io/datatypes, signs people in with github.com/golang-jwt/jwt/v4, golang.org/x/oauth2, github.com/coreos/go-oidc/v3, and github.com/pquerna/otp, measures its use with PostHog, connects to Google, makes its content with github.com/skip2/go-qrcode and gopkg.in/mail.v2, validates its data with github.com/go-playground/validator/v10, is tested with github.com/stretchr/testify, github.com/matryer/is, and github.com/google/go-cmp, and uses github.com/eclipse/paho.mqtt.golang and ClickHouse. It has 107,004 written lines, with 102 test files.

Read on November 11, 2026, at commit 4d495c6.

Repository: https://github.com/gravitl/netmaker

## Backend

### The base

- **[Gorilla](https://seerepo.com/uses/gorilla)**: 38 files

### Data

- **github.com/eclipse/paho.mqtt.golang**: 6 files
- **[ClickHouse](https://seerepo.com/uses/clickhouse)**: 3 files
- **[Postgres](https://seerepo.com/uses/postgres)**: 2 files · [db/postgres.go, line 11](https://github.com/gravitl/netmaker/blob/4d495c64feb2c32a85f4e5e28d68e0a0ab33ab29/db/postgres.go#L11)
- **[SQLite](https://seerepo.com/uses/sqlite)**: 2 files · [db/sqlite.go, line 7](https://github.com/gravitl/netmaker/blob/4d495c64feb2c32a85f4e5e28d68e0a0ab33ab29/db/sqlite.go#L7)

### Data access

- **[gorm.io/gorm](https://seerepo.com/uses/gormio-gorm)**: 68 files
- **gorm.io/datatypes**: 60 files

### Sign-in

- **[github.com/golang-jwt/jwt/v4](https://seerepo.com/uses/githubcom-golang-jwt-jwt-v4)**: 5 files
- **[golang.org/x/oauth2](https://seerepo.com/uses/golangorg-x-oauth2)**: 5 files
- **[github.com/coreos/go-oidc/v3](https://seerepo.com/uses/githubcom-coreos-go-oidc-v3)**: 1 file
- **[github.com/pquerna/otp](https://seerepo.com/uses/githubcom-pquerna-otp)**: 1 file

### Services

- **[Google](https://seerepo.com/uses/google)**: 1 file · [pro/idp/google/google.go, line 13](https://github.com/gravitl/netmaker/blob/4d495c64feb2c32a85f4e5e28d68e0a0ab33ab29/pro/idp/google/google.go#L13)
- **[PostHog](https://seerepo.com/uses/posthog)**: 1 file · [logic/telemetry.go, line 17](https://github.com/gravitl/netmaker/blob/4d495c64feb2c32a85f4e5e28d68e0a0ab33ab29/logic/telemetry.go#L17)

## Support

### Content

- **[github.com/skip2/go-qrcode](https://seerepo.com/uses/githubcom-skip2-go-qrcode)**: 1 file
- **gopkg.in/mail.v2**: 1 file

### Validation

- **[github.com/go-playground/validator/v10](https://seerepo.com/uses/githubcom-go-playground-validator-v10)**: 4 files

### Testing

- **github.com/stretchr/testify**: 47 files
- **github.com/matryer/is**: 3 files
- **github.com/google/go-cmp**: 2 files

### Tools

- **github.com/spf13/cobra**: 75 files

### Other

- **golang.org/x/exp**: 47 files
- **golang.org/x/crypto**: 12 files
- **golang.zx2c4.com/wireguard/wgctrl**: 9 files
- **github.com/gorilla/websocket**: 4 files
- **google.golang.org/protobuf**: 4 files
- **[HashiCorp](https://seerepo.com/uses/hashicorp)**: 4 files
- **github.com/c-robinson/iplib**: 2 files
- **github.com/goombaio/namegenerator**: 2 files
- **golang.org/x/time**: 2 files
- **gopkg.in/yaml.v3**: 2 files
- **Uber**: 2 files
- **filippo.io/edwards25519**: 1 file
- **github.com/biter777/countries**: 1 file
- **github.com/blang/semver**: 1 file
- **github.com/gorilla/handlers**: 1 file
- **github.com/klauspost/compress**: 1 file
- **github.com/Masterminds/semver/v3**: 1 file

## Other repos with a similar stack

- [QuantumNous/new-api](https://seerepo.com/r/QuantumNous/new-api/built): ClickHouse, Postgres, gorm.io/gorm, golang.org/x/oauth2, github.com/coreos/go-oidc/v3, github.com/pquerna/otp, github.com/go-playground/validator/v10 · [Compare](https://seerepo.com/compare/gravitl/netmaker/vs/QuantumNous/new-api)
- [harness/harness](https://seerepo.com/r/harness/harness/built): Gorilla, Postgres, SQLite, Google, PostHog, golang.org/x/oauth2, gopkg.in/mail.v2 · [Compare](https://seerepo.com/compare/gravitl/netmaker/vs/harness/harness)
- [AlistGo/alist](https://seerepo.com/r/AlistGo/alist/built): Postgres, SQLite, gorm.io/gorm, github.com/golang-jwt/jwt/v4, golang.org/x/oauth2, github.com/pquerna/otp · [Compare](https://seerepo.com/compare/AlistGo/alist/vs/gravitl/netmaker)
- [mudler/LocalAI](https://seerepo.com/r/mudler/LocalAI/built): Postgres, SQLite, gorm.io/gorm, golang.org/x/oauth2, github.com/coreos/go-oidc/v3 · [Compare](https://seerepo.com/compare/gravitl/netmaker/vs/mudler/LocalAI)
- [MHSanaei/3x-ui](https://seerepo.com/r/MHSanaei/3x-ui/built): Postgres, SQLite, gorm.io/gorm, github.com/skip2/go-qrcode, github.com/go-playground/validator/v10 · [Compare](https://seerepo.com/compare/gravitl/netmaker/vs/MHSanaei/3x-ui)
- [juanfont/headscale](https://seerepo.com/r/juanfont/headscale/built): Postgres, SQLite, gorm.io/gorm, golang.org/x/oauth2, github.com/coreos/go-oidc/v3 · [Compare](https://seerepo.com/compare/gravitl/netmaker/vs/juanfont/headscale)

## Frequently asked questions

### What language is netmaker written in?

netmaker is written in Go, with 107,004 written lines.

### What framework does netmaker use?

netmaker is built with Gorilla.

### What database does netmaker use?

netmaker stores its data in Postgres and SQLite and reaches it with gorm.io/gorm and gorm.io/datatypes.

The proof: [db/postgres.go, line 11](https://github.com/gravitl/netmaker/blob/4d495c64feb2c32a85f4e5e28d68e0a0ab33ab29/db/postgres.go#L11)

### What does netmaker sign people in with?

netmaker signs people in with github.com/golang-jwt/jwt/v4, golang.org/x/oauth2, github.com/coreos/go-oidc/v3, and github.com/pquerna/otp.

### What services does netmaker use?

netmaker measures its use with PostHog, connects to Google, and uses github.com/eclipse/paho.mqtt.golang and ClickHouse.

The proof: [logic/telemetry.go, line 17](https://github.com/gravitl/netmaker/blob/4d495c64feb2c32a85f4e5e28d68e0a0ab33ab29/logic/telemetry.go#L17)

### Does netmaker have tests?

Yes. netmaker has 102 test files and is tested with github.com/stretchr/testify, github.com/matryer/is, and github.com/google/go-cmp.

### Which repos have a stack like netmaker's?

The ones that share most of its stack: QuantumNous/new-api, harness/harness, and AlistGo/alist.

## What is your repo built with?

Any public repo, with no account: https://seerepo.com/r/owner/repo/built, with the owner and name it has on GitHub.
