Source: https://seerepo.com/r/0xJacky/nginx-ui/built
Markdown source: https://seerepo.com/r/0xJacky/nginx-ui/built.md
Description: nginx-ui is a Go repo built with Gin, github.com/gin-contrib/static, Vite, Vue, @vueuse/router, and 1 more. It stores its data in SQLite.

# What is nginx-ui built with?

nginx-ui is a Go repo built with Gin, github.com/gin-contrib/static, Vite, Vue, @vueuse/router, and 1 more. It stores its data in SQLite, reaches it with dbresolver, gorm.io/gorm, github.com/go-gormigrate/gormigrate/v2, gorm.io/gen, and gorm.io/datatypes, signs people in with github.com/go-webauthn/webauthn, github.com/pquerna/otp, github.com/golang-jwt/jwt/v5, github.com/Azure/azure-sdk-for-go/sdk/azidentity, github.com/casdoor/casdoor-go-sdk, and 3 more, uses AI through go-openai, mcp-go, and OpenAI, makes its content with marked, highlight.js, marked-highlight, and vue-dompurify-html, validates its data with github.com/go-playground/validator/v10, is tested with github.com/stretchr/testify, deploys with github.com/go-acme/lego/v5, go.uber.org/zap, Docker, github.com/Azure/azure-sdk-for-go/sdk/azcore, and github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common, and uses go-sqlite3, github.com/dgraph-io/ristretto/v2, github.com/oschwald/maxminddb-golang/v2, MCP, MinIO, and 1 more. It has 402,961 written lines, with 764 test files.

Read on November 12, 2026, at commit 4a73492.

Repository: https://github.com/0xJacky/nginx-ui

## Backend (/)

### The base

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

### Data

- **[go-sqlite3](https://seerepo.com/uses/go-sqlite3)**
- **[SQLite](https://seerepo.com/uses/sqlite)**: 4 files · [internal/backup/session_snapshot.go, line 14](https://github.com/0xJacky/nginx-ui/blob/4a734920987b1902dee7b7553d2c24781a520152/internal/backup/session_snapshot.go#L14)
- **github.com/dgraph-io/ristretto/v2**: 1 file
- **github.com/oschwald/maxminddb-golang/v2**: 1 file

### Data access

- **dbresolver**
- **[gorm.io/gorm](https://seerepo.com/uses/gormio-gorm)**: 76 files
- **github.com/go-gormigrate/gormigrate/v2**: 18 files
- **gorm.io/gen**: 12 files
- **gorm.io/datatypes**: 3 files

### Sign-in

- **[github.com/go-webauthn/webauthn](https://seerepo.com/uses/githubcom-go-webauthn-webauthn)**: 5 files
- **[github.com/pquerna/otp](https://seerepo.com/uses/githubcom-pquerna-otp)**: 3 files
- **[github.com/golang-jwt/jwt/v5](https://seerepo.com/uses/githubcom-golang-jwt-jwt-v5)**: 2 files
- **[github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://seerepo.com/uses/githubcom-azure-azure-sdk-for-go-sdk-azidentity)**: 1 file
- **github.com/casdoor/casdoor-go-sdk**: 1 file
- **[github.com/coreos/go-oidc/v3](https://seerepo.com/uses/githubcom-coreos-go-oidc-v3)**: 1 file
- **[golang.org/x/oauth2](https://seerepo.com/uses/golangorg-x-oauth2)**: 1 file

### AI

- **go-openai**
- **[mcp-go](https://seerepo.com/uses/mcp-go)**

### Services

- **[MCP](https://seerepo.com/uses/mcp)**: 14 files · [internal/plugin/capability/mcp.go, line 17](https://github.com/0xJacky/nginx-ui/blob/4a734920987b1902dee7b7553d2c24781a520152/internal/plugin/capability/mcp.go#L17)
- **[OpenAI](https://seerepo.com/uses/openai)**: 7 files · [settings/openai.go, line 6](https://github.com/0xJacky/nginx-ui/blob/4a734920987b1902dee7b7553d2c24781a520152/settings/openai.go#L6)
- **[MinIO](https://seerepo.com/uses/minio)**: 1 file · [internal/backup/s3_client.go, line 13](https://github.com/0xJacky/nginx-ui/blob/4a734920987b1902dee7b7553d2c24781a520152/internal/backup/s3_client.go#L13)
- **Telegram**: 1 file · [internal/notification/telegram.go, line 11](https://github.com/0xJacky/nginx-ui/blob/4a734920987b1902dee7b7553d2c24781a520152/internal/notification/telegram.go#L11)

## Support (/)

### The base

- **github.com/gin-contrib/static**: 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**: 408 files

### Deploy

- **github.com/go-acme/lego/v5**: 30 files
- **[go.uber.org/zap](https://seerepo.com/uses/gouberorg-zap)**: 6 files
- **[Docker](https://seerepo.com/uses/docker)**: 5 files
- **[github.com/Azure/azure-sdk-for-go/sdk/azcore](https://seerepo.com/uses/githubcom-azure-azure-sdk-for-go-sdk-azcore)**: 2 files
- **github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common**: 1 file

### Tools

- **github.com/urfave/cli/v3**: 13 files
- **aead.dev/minisign**: 8 files

### Other

- **github.com/spf13/cast**: 42 files
- **github.com/gorilla/websocket**: 24 files
- **github.com/pkg/errors**: 23 files
- **[Google](https://seerepo.com/uses/google)**: 21 files
- **github.com/shirou/gopsutil/v4**: 17 files
- **github.com/go-co-op/gocron/v2**: 15 files
- **github.com/samber/lo**: 13 files
- **golang.org/x/crypto**: 13 files
- **github.com/tufanbarisyildirim/gonginx**: 8 files
- **github.com/go-resty/resty/v2**: 7 files
- **github.com/nikoksr/notify**: 5 files
- **golang.org/x/sys**: 5 files
- **google.golang.org/protobuf**: 5 files
- **github.com/elliotchance/orderedmap/v3**: 4 files
- **golang.org/x/net**: 4 files
- **gopkg.in/ini.v1**: 4 files
- **github.com/pkg/sftp**: 3 files
- **github.com/ulikunitz/xz**: 3 files
- **github.com/BurntSushi/toml**: 2 files
- **github.com/caarlos0/env/v11**: 2 files
- **github.com/dustin/go-humanize**: 2 files
- **github.com/klauspost/compress**: 2 files
- **github.com/nxadm/tail**: 2 files
- **github.com/alibabacloud-go/darabonba-openapi/v2**: 1 file
- **github.com/alibabacloud-go/tea**: 1 file
- **github.com/creack/pty**: 1 file
- **github.com/fsnotify/fsnotify**: 1 file
- **github.com/gabriel-vasile/mimetype**: 1 file
- **github.com/gin-contrib/cors**: 1 file
- **github.com/huaweicloud/huaweicloud-sdk-go-v3**: 1 file
- **github.com/Microsoft/go-winio**: 1 file
- **github.com/miekg/dns**: 1 file
- **github.com/pires/go-proxyproto**: 1 file
- **software.sslmate.com/src/go-pkcs12**: 1 file

## Frontend (app)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in app/package.json](https://github.com/0xJacky/nginx-ui/blob/4a734920987b1902dee7b7553d2c24781a520152/app/package.json)
- **[Vue](https://seerepo.com/uses/vue)**: 63 files · [in app/package.json](https://github.com/0xJacky/nginx-ui/blob/4a734920987b1902dee7b7553d2c24781a520152/app/package.json)
- **@vueuse/router**: 4 files

### Interface

- **antdv-next**: 91 files
- **@vueuse/components**: 4 files
- **[ace-builds](https://seerepo.com/uses/ace-builds)**: 4 files
- **vue3-apexcharts**: 4 files
- **[vuedraggable](https://seerepo.com/uses/vuedraggable)**: 4 files
- **[xterm](https://seerepo.com/uses/xterm)**: 3 files
- **[echarts](https://seerepo.com/uses/echarts)**: 2 files
- **[nprogress](https://seerepo.com/uses/nprogress)**: 2 files
- **vue-echarts**: 2 files
- **@formkit/auto-animate**: 1 file
- **apexcharts**: 1 file
- **splitpanes**: 1 file
- **vue3-ace-editor**: 1 file

## Backend (app)

### Sign-in

- **[@simplewebauthn/browser](https://seerepo.com/uses/simplewebauthn-browser)**: 8 files

## Support (app)

### The base

- **[vue-router](https://seerepo.com/uses/vue-router)**: 44 files

### Content

- **[marked](https://seerepo.com/uses/marked)**: 4 files
- **[highlight.js](https://seerepo.com/uses/highlightjs)**: 1 file
- **marked-highlight**: 1 file
- **vue-dompurify-html**: 1 file

### Tools

- **@vue/compiler-sfc**: 1 file

### Other

- **VueUse**: 46 files
- **Pinia**: 30 files
- **dayjs**: 27 files
- **Lodash**: 15 files
- **Axios**: 7 files
- **uuid**: 4 files
- **i18n-iso-countries**: 2 files
- **@fingerprintjs/fingerprintjs**: 1 file
- **jsencrypt**: 1 file
- **pinia-plugin-persistedstate**: 1 file
- **universal-cookie**: 1 file
- **vue3-gettext**: 1 file

## Other repos with a similar stack

- [Wei-Shaw/sub2api](https://seerepo.com/r/Wei-Shaw/sub2api/built): Gin, SQLite, MCP, Vite, Vue, vue-router, github.com/go-webauthn/webauthn, github.com/pquerna/otp, github.com/golang-jwt/jwt/v5, github.com/go-playground/validator/v10, go.uber.org/zap, github.com/tencentcloud/tencentcloud-sdk-go/tencentcloud/common, marked · [Compare](https://seerepo.com/compare/0xJacky/nginx-ui/vs/Wei-Shaw/sub2api)
- [mudler/LocalAI](https://seerepo.com/r/mudler/LocalAI/built): go-sqlite3, SQLite, MCP, OpenAI, Vite, gorm.io/gorm, github.com/coreos/go-oidc/v3, golang.org/x/oauth2, go-openai, Docker, marked, highlight.js · [Compare](https://seerepo.com/compare/0xJacky/nginx-ui/vs/mudler/LocalAI)
- [datawhalechina/hello-agents](https://seerepo.com/r/datawhalechina/hello-agents/built): SQLite, MCP, OpenAI, Vite, Vue, vue-router, echarts, vue-echarts, marked, highlight.js · [Compare](https://seerepo.com/compare/0xJacky/nginx-ui/vs/datawhalechina/hello-agents)
- [QuantumNous/new-api](https://seerepo.com/r/QuantumNous/new-api/built): Gin, github.com/gin-contrib/static, gorm.io/gorm, github.com/go-webauthn/webauthn, github.com/pquerna/otp, github.com/golang-jwt/jwt/v5, github.com/coreos/go-oidc/v3, golang.org/x/oauth2, github.com/go-playground/validator/v10, marked · [Compare](https://seerepo.com/compare/0xJacky/nginx-ui/vs/QuantumNous/new-api)
- [infiniflow/ragflow](https://seerepo.com/r/infiniflow/ragflow/built): Gin, MCP, OpenAI, MinIO, gorm.io/gorm, github.com/golang-jwt/jwt/v5, golang.org/x/oauth2, go.uber.org/zap, github.com/Azure/azure-sdk-for-go/sdk/azcore · [Compare](https://seerepo.com/compare/0xJacky/nginx-ui/vs/infiniflow/ragflow)
- [go-gitea/gitea](https://seerepo.com/r/go-gitea/gitea/built): go-sqlite3, SQLite, MinIO, Vite, Vue, github.com/go-webauthn/webauthn, github.com/pquerna/otp, github.com/golang-jwt/jwt/v5, golang.org/x/oauth2 · [Compare](https://seerepo.com/compare/0xJacky/nginx-ui/vs/go-gitea/gitea)

## Frequently asked questions

### What language is nginx-ui written in?

nginx-ui is written in Go, with 402,961 written lines.

### What framework does nginx-ui use?

nginx-ui is built with Gin, github.com/gin-contrib/static, Vite, Vue, @vueuse/router, and vue-router.

### What database does nginx-ui use?

nginx-ui stores its data in SQLite and reaches it with dbresolver, gorm.io/gorm, github.com/go-gormigrate/gormigrate/v2, gorm.io/gen, and gorm.io/datatypes.

The proof: [internal/backup/session_snapshot.go, line 14](https://github.com/0xJacky/nginx-ui/blob/4a734920987b1902dee7b7553d2c24781a520152/internal/backup/session_snapshot.go#L14)

### What does nginx-ui sign people in with?

nginx-ui signs people in with github.com/go-webauthn/webauthn, github.com/pquerna/otp, github.com/golang-jwt/jwt/v5, github.com/Azure/azure-sdk-for-go/sdk/azidentity, github.com/casdoor/casdoor-go-sdk, github.com/coreos/go-oidc/v3, golang.org/x/oauth2, and @simplewebauthn/browser.

### Does nginx-ui use AI?

Yes. nginx-ui uses AI through go-openai, mcp-go, and OpenAI.

### What services does nginx-ui use?

nginx-ui uses go-sqlite3, github.com/dgraph-io/ristretto/v2, github.com/oschwald/maxminddb-golang/v2, MCP, MinIO, and Telegram.

### Does nginx-ui have tests?

Yes. nginx-ui has 764 test files and is tested with github.com/stretchr/testify.

### Which repos have a stack like nginx-ui's?

The ones that share most of its stack: Wei-Shaw/sub2api, mudler/LocalAI, and datawhalechina/hello-agents.

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