Source: https://seerepo.com/r/gotify/server/built
Markdown source: https://seerepo.com/r/gotify/server/built.md
Description: server is a Go repo built with Gin, Vite, React, and React Router. It stores its data in MySQL, Postgres, and SQLite and reaches it with gorm.io/gorm.

# What is server built with?

server is a Go repo built with Gin, Vite, React, and React Router. It stores its data in MySQL, Postgres, and SQLite, reaches it with gorm.io/gorm, signs people in with github.com/zitadel/oidc/v3, uses AI through Model Context Protocol, makes its content with react-markdown, remark-gfm, and remove-markdown, validates its data with github.com/go-playground/validator/v10, is tested with github.com/stretchr/testify, github.com/fortytw2/leaktest, Puppeteer, and Vitest, deploys with github.com/rs/zerolog, and uses MCP. It has 25,239 written lines, with 80 test files.

Read on November 7, 2026, at commit dd06dc7.

Repository: https://github.com/gotify/server

## Backend (/)

### The base

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

### Data

- **[MySQL](https://seerepo.com/uses/mysql)**: 2 files · [database/database.go, line 16](https://github.com/gotify/server/blob/dd06dc77190696e93d3297b9a733711516fb17d9/database/database.go#L16)
- **[Postgres](https://seerepo.com/uses/postgres)**: 2 files · [database/database.go, line 17](https://github.com/gotify/server/blob/dd06dc77190696e93d3297b9a733711516fb17d9/database/database.go#L17)
- **[SQLite](https://seerepo.com/uses/sqlite)**: 2 files · [database/database.go, line 18](https://github.com/gotify/server/blob/dd06dc77190696e93d3297b9a733711516fb17d9/database/database.go#L18)

### Data access

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

### Sign-in

- **github.com/zitadel/oidc/v3**: 1 file

### AI

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

### Services

- **[MCP](https://seerepo.com/uses/mcp)**: 1 file · [api/mcp.go, line 12](https://github.com/gotify/server/blob/dd06dc77190696e93d3297b9a733711516fb17d9/api/mcp.go#L12)

## Support (/)

### Validation

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

### Testing

- **github.com/stretchr/testify**: 52 files
- **github.com/fortytw2/leaktest**: 1 file

### Deploy

- **[github.com/rs/zerolog](https://seerepo.com/uses/githubcom-rs-zerolog)**: 13 files

### Other

- **gzip**
- **gopkg.in/yaml.v3**: 3 files
- **github.com/gin-contrib/cors**: 2 files
- **github.com/gorilla/websocket**: 2 files
- **github.com/joho/godotenv**: 2 files
- **github.com/mattn/go-isatty**: 2 files
- **golang.org/x/crypto**: 2 files
- **github.com/h2non/filetype**: 1 file

## Frontend (ui)

### The base

- **[Vite](https://seerepo.com/uses/vite)**: [in ui/package.json](https://github.com/gotify/server/blob/dd06dc77190696e93d3297b9a733711516fb17d9/ui/package.json)
- **[React](https://seerepo.com/uses/react)**: 35 files · [in ui/package.json](https://github.com/gotify/server/blob/dd06dc77190696e93d3297b9a733711516fb17d9/ui/package.json)
- **[React Router](https://seerepo.com/uses/react-router)**: 7 files

### Styles

- **@fontsource/roboto**: 1 file
- **@uiw/codemirror-theme-material**: 1 file

### Interface

- **[MUI](https://seerepo.com/uses/mui)**: 31 files
- **notistack**: 4 files
- **react-timeago**: 3 files
- **[dnd-kit](https://seerepo.com/uses/dnd-kit)**: 2 files
- **[@uiw/react-codemirror](https://seerepo.com/uses/uiw-react-codemirror)**: 1 file
- **[react-virtuoso](https://seerepo.com/uses/react-virtuoso)**: 1 file

### Icons

- **[@mui/icons-material](https://seerepo.com/uses/mui-icons-material)**: 10 files

## Backend (ui)

### The base

- **[Gin](https://seerepo.com/uses/gin)**: 1 file

## Support (ui)

### Content

- **[react-markdown](https://seerepo.com/uses/react-markdown)**: 1 file
- **[remark-gfm](https://seerepo.com/uses/remark-gfm)**: 1 file
- **remove-markdown**: 1 file

### Testing

- **Puppeteer**: 10 files
- **Vitest**: 8 files

### Tools

- **get-port**: 2 files
- **rimraf**: 2 files
- **wait-on**: 2 files
- **tree-kill**: 1 file

### Other

- **mobx-react-lite**: 12 files
- **Axios**: 9 files
- **MobX**: 9 files
- **detect-browser**: 1 file
- **fractional-indexing**: 1 file
- **github.com/gin-contrib/gzip**: 1 file
- **mobx-utils**: 1 file

## Other repos with a similar stack

- [infiniflow/ragflow](https://seerepo.com/r/infiniflow/ragflow/built): Gin, MySQL, Postgres, MCP, React, React Router, Model Context Protocol, react-markdown, remark-gfm · [Compare](https://seerepo.com/compare/gotify/server/vs/infiniflow/ragflow)
- [CherryHQ/cherry-studio](https://seerepo.com/r/CherryHQ/cherry-studio/built): SQLite, MCP, Vite, React, dnd-kit, @uiw/react-codemirror, remark-gfm, remove-markdown · [Compare](https://seerepo.com/compare/CherryHQ/cherry-studio/vs/gotify/server)
- [MHSanaei/3x-ui](https://seerepo.com/r/MHSanaei/3x-ui/built): Gin, Postgres, SQLite, Vite, React, React Router, gorm.io/gorm, github.com/go-playground/validator/v10 · [Compare](https://seerepo.com/compare/gotify/server/vs/MHSanaei/3x-ui)
- [supabase/supabase](https://seerepo.com/r/supabase/supabase/built): MCP, Vite, React, React Router, dnd-kit, react-markdown, remark-gfm · [Compare](https://seerepo.com/compare/gotify/server/vs/supabase/supabase)
- [paperclipai/paperclip](https://seerepo.com/r/paperclipai/paperclip/built): Postgres, MCP, Vite, React, dnd-kit, react-markdown, remark-gfm · [Compare](https://seerepo.com/compare/gotify/server/vs/paperclipai/paperclip)
- [cline/cline](https://seerepo.com/r/cline/cline/built): SQLite, MCP, Vite, React, react-virtuoso, react-markdown, remark-gfm · [Compare](https://seerepo.com/compare/cline/cline/vs/gotify/server)

## Frequently asked questions

### What language is server written in?

server is written in Go, with 25,239 written lines.

### What framework does server use?

server is built with Gin, Vite, React, and React Router.

### What database does server use?

server stores its data in MySQL, Postgres, and SQLite and reaches it with gorm.io/gorm.

The proof: [database/database.go, line 16](https://github.com/gotify/server/blob/dd06dc77190696e93d3297b9a733711516fb17d9/database/database.go#L16)

### What does server sign people in with?

server signs people in with github.com/zitadel/oidc/v3.

### Does server use AI?

Yes. server uses AI through Model Context Protocol.

### What services does server use?

server uses MCP.

The proof: [api/mcp.go, line 12](https://github.com/gotify/server/blob/dd06dc77190696e93d3297b9a733711516fb17d9/api/mcp.go#L12)

### Does server have tests?

Yes. server has 80 test files and is tested with github.com/stretchr/testify, github.com/fortytw2/leaktest, Puppeteer, and Vitest.

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

The ones that share most of its stack: infiniflow/ragflow, CherryHQ/cherry-studio, and MHSanaei/3x-ui.

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