Source: https://seerepo.com/r/ccfos/nightingale/built
Markdown source: https://seerepo.com/r/ccfos/nightingale/built.md
Description: nightingale is a Go repo built with Gin. It stores its data in github.com/patrickmn/go-cache, MySQL, and Postgres.

# What is nightingale built with?

nightingale is a Go repo built with Gin. It stores its data in github.com/patrickmn/go-cache, MySQL, and Postgres, reaches it with gorm.io/gorm and gorm.io/driver/clickhouse, signs people in with github.com/golang-jwt/jwt, golang.org/x/oauth2, github.com/coreos/go-oidc, github.com/go-ldap/ldap/v3, and github.com/mojocn/base64Captcha, uses AI through Model Context Protocol, makes its content with gopkg.in/gomail.v2, validates its data with github.com/google/jsonschema-go, is tested with github.com/stretchr/testify and github.com/alicebob/miniredis/v2, deploys with Prometheus, github.com/prometheus/prometheus, github.com/prometheus/client_golang, github.com/gin-contrib/pprof, and github.com/prometheus/client_model, and uses go-redis, pq, sarama, Redis, ClickHouse, and 6 more. It has 204,238 written lines, with 246 test files.

Read on November 10, 2026, at commit 3abcdb2.

Repository: https://github.com/ccfos/nightingale

## Backend

### The base

- **[Gin](https://seerepo.com/uses/gin)**: 105 files

### Data

- **[go-redis](https://seerepo.com/uses/go-redis)**
- **[pq](https://seerepo.com/uses/pq)**
- **sarama**
- **[Redis](https://seerepo.com/uses/redis)**: 9 files · [storage/redis.go, line 13](https://github.com/ccfos/nightingale/blob/3abcdb2312453be2dbb2174e42320620c9819dcf/storage/redis.go#L13)
- **[github.com/patrickmn/go-cache](https://seerepo.com/uses/githubcom-patrickmn-go-cache)**: 4 files
- **[MySQL](https://seerepo.com/uses/mysql)**: 4 files · [dskit/mysql/mysql.go, line 18](https://github.com/ccfos/nightingale/blob/3abcdb2312453be2dbb2174e42320620c9819dcf/dskit/mysql/mysql.go#L18)
- **[Postgres](https://seerepo.com/uses/postgres)**: 3 files · [dskit/postgres/postgres.go, line 18](https://github.com/ccfos/nightingale/blob/3abcdb2312453be2dbb2174e42320620c9819dcf/dskit/postgres/postgres.go#L18)
- **[ClickHouse](https://seerepo.com/uses/clickhouse)**: 1 file
- **[github.com/glebarez/sqlite](https://seerepo.com/uses/githubcom-glebarez-sqlite)**: 1 file
- **OpenSearch**: 1 file
- **[SQLite](https://seerepo.com/uses/sqlite)**: 1 file · [go.mod, line 70](https://github.com/ccfos/nightingale/blob/3abcdb2312453be2dbb2174e42320620c9819dcf/go.mod#L70)
- **TiDB**: 1 file

### Data access

- **[gorm.io/gorm](https://seerepo.com/uses/gormio-gorm)**: 47 files
- **gorm.io/driver/clickhouse**: 1 file

### Sign-in

- **github.com/golang-jwt/jwt**: 3 files
- **[golang.org/x/oauth2](https://seerepo.com/uses/golangorg-x-oauth2)**: 2 files
- **github.com/coreos/go-oidc**: 1 file
- **[github.com/go-ldap/ldap/v3](https://seerepo.com/uses/githubcom-go-ldap-ldap-v3)**: 1 file
- **github.com/mojocn/base64Captcha**: 1 file

### AI

- **[Model Context Protocol](https://seerepo.com/uses/model-context-protocol)**

### Services

- **[Kafka](https://seerepo.com/uses/kafka)**: 3 files · [pushgw/writer/kafka_writer.go, line 6](https://github.com/ccfos/nightingale/blob/3abcdb2312453be2dbb2174e42320620c9819dcf/pushgw/writer/kafka_writer.go#L6)
- **[MCP](https://seerepo.com/uses/mcp)**: 1 file · [aiagent/a2a/mcp.go, line 14](https://github.com/ccfos/nightingale/blob/3abcdb2312453be2dbb2174e42320620c9819dcf/aiagent/a2a/mcp.go#L14)

## Support

### Content

- **gopkg.in/gomail.v2**: 4 files

### Validation

- **[github.com/google/jsonschema-go](https://seerepo.com/uses/githubcom-google-jsonschema-go)**: 1 file

### Testing

- **github.com/stretchr/testify**: 27 files
- **github.com/alicebob/miniredis/v2**: 11 files

### Deploy

- **[Prometheus](https://seerepo.com/uses/prometheus)**: 32 files
- **github.com/prometheus/prometheus**: 21 files
- **github.com/prometheus/client_golang**: 15 files
- **github.com/gin-contrib/pprof**: 1 file
- **[github.com/prometheus/client_model](https://seerepo.com/uses/githubcom-prometheus-client-model)**: 1 file

### Tools

- **github.com/davecgh/go-spew**: 1 file
- **github.com/rakyll/statik**: 1 file

### Other

- **github.com/pkg/errors**: 45 files
- **[Google](https://seerepo.com/uses/google)**: 20 files
- **github.com/mitchellh/mapstructure**: 17 files
- **github.com/robfig/cron/v3**: 6 files
- **golang.org/x/sys**: 5 files
- **github.com/golang/snappy**: 4 files
- **gopkg.in/yaml.v3**: 4 files
- **github.com/BurntSushi/toml**: 3 files
- **github.com/golang/protobuf**: 3 files
- **github.com/json-iterator/go**: 3 files
- **gopkg.in/yaml.v2**: 3 files
- **Mail.Ru**: 3 files
- **Alibaba Cloud**: 2 files
- **github.com/alibabacloud-go/darabonba-openapi/v2**: 2 files
- **github.com/alibabacloud-go/tea**: 2 files
- **github.com/jinzhu/copier**: 2 files
- **github.com/pelletier/go-toml/v2**: 2 files
- **github.com/VictoriaMetrics/metricsql**: 2 files
- **golang.org/x/exp**: 2 files
- **golang.org/x/sync**: 2 files
- **Bitly**: 1 file
- **github.com/alecthomas/units**: 1 file
- **github.com/alibabacloud-go/openapi-util**: 1 file
- **github.com/araddon/dateparse**: 1 file
- **github.com/expr-lang/expr**: 1 file
- **github.com/go-git/go-git/v5**: 1 file
- **github.com/gogo/protobuf**: 1 file
- **github.com/larksuite/oapi-sdk-go/v3**: 1 file
- **github.com/mattn/go-isatty**: 1 file
- **github.com/spaolacci/murmur3**: 1 file
- **github.com/tidwall/gjson**: 1 file
- **github.com/tidwall/match**: 1 file
- **golang.org/x/crypto**: 1 file
- **[HashiCorp](https://seerepo.com/uses/hashicorp)**: 1 file

## Other repos with a similar stack

- [infiniflow/ragflow](https://seerepo.com/r/infiniflow/ragflow/built): Gin, go-redis, pq, Redis, MySQL, Postgres, github.com/glebarez/sqlite, MCP, gorm.io/gorm, golang.org/x/oauth2, Model Context Protocol · [Compare](https://seerepo.com/compare/ccfos/nightingale/vs/infiniflow/ragflow)
- [photoprism/photoprism](https://seerepo.com/r/photoprism/photoprism/built): Gin, github.com/patrickmn/go-cache, MySQL, Postgres, SQLite, MCP, gorm.io/gorm, golang.org/x/oauth2, Model Context Protocol, Prometheus, github.com/prometheus/client_model · [Compare](https://seerepo.com/compare/ccfos/nightingale/vs/photoprism/photoprism)
- [QuantumNous/new-api](https://seerepo.com/r/QuantumNous/new-api/built): Gin, Redis, MySQL, Postgres, ClickHouse, github.com/glebarez/sqlite, gorm.io/gorm, gorm.io/driver/clickhouse, golang.org/x/oauth2, Prometheus · [Compare](https://seerepo.com/compare/ccfos/nightingale/vs/QuantumNous/new-api)
- [go-gitea/gitea](https://seerepo.com/r/go-gitea/gitea/built): go-redis, pq, Redis, MySQL, Postgres, SQLite, golang.org/x/oauth2, github.com/go-ldap/ldap/v3, Prometheus · [Compare](https://seerepo.com/compare/ccfos/nightingale/vs/go-gitea/gitea)
- [mudler/LocalAI](https://seerepo.com/r/mudler/LocalAI/built): Postgres, github.com/glebarez/sqlite, SQLite, MCP, gorm.io/gorm, golang.org/x/oauth2, Model Context Protocol, github.com/google/jsonschema-go, Prometheus · [Compare](https://seerepo.com/compare/ccfos/nightingale/vs/mudler/LocalAI)
- [Wei-Shaw/sub2api](https://seerepo.com/r/Wei-Shaw/sub2api/built): Gin, go-redis, pq, Redis, github.com/patrickmn/go-cache, Postgres, SQLite, MCP, Model Context Protocol · [Compare](https://seerepo.com/compare/ccfos/nightingale/vs/Wei-Shaw/sub2api)

## Frequently asked questions

### What language is nightingale written in?

nightingale is written in Go, with 204,238 written lines.

### What framework does nightingale use?

nightingale is built with Gin.

### What database does nightingale use?

nightingale stores its data in github.com/patrickmn/go-cache, MySQL, and Postgres and reaches it with gorm.io/gorm and gorm.io/driver/clickhouse.

### What does nightingale sign people in with?

nightingale signs people in with github.com/golang-jwt/jwt, golang.org/x/oauth2, github.com/coreos/go-oidc, github.com/go-ldap/ldap/v3, and github.com/mojocn/base64Captcha.

### Does nightingale use AI?

Yes. nightingale uses AI through Model Context Protocol.

### What services does nightingale use?

nightingale uses go-redis, pq, sarama, Redis, ClickHouse, github.com/glebarez/sqlite, OpenSearch, SQLite, TiDB, Kafka, and MCP.

### Does nightingale have tests?

Yes. nightingale has 246 test files and is tested with github.com/stretchr/testify and github.com/alicebob/miniredis/v2.

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

The ones that share most of its stack: infiniflow/ragflow, photoprism/photoprism, and QuantumNous/new-api.

## 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.
