Web Analytics

karpov-gateway

⭐ 155 stars Assamese by MiChongs

🌐 ভাষা

কাৰ্পভ গেটৱে

একত্ৰিত API গেটৱে + নিয়ন্ত্ৰণ কনচোল। Go বেকএণ্ড (Gin + gRPC) + Next.js ফ্ৰণ্টএণ্ড (App Router + shadcn/ui), নিজা প্ৰমাণীকৰণ পুল, ই-মেইল ভেৰিফিকেশ্যন, Linux.do OAuth2 SSO, কোটাৰ হিচাপ, TOTP দুবাৰীয়া ভেৰিফিকেশ্যনসহ।

অনুজ্ঞাপত্ৰ: MIT Go Next.js

✨ বৈশিষ্ট্যবোৰ

🏗 ৰেপ’জিট'ৰী গঠন

karpov-gateway/
├── gateway/             # Go 后端 (Gin + gRPC)
│   ├── cmd/             # 各 service 入口 (gateway/auth/music/pool/...)
│   ├── internal/        # 业务实现 (private)
│   ├── api/             # protobuf 定义
│   ├── migrations/      # PostgreSQL schema
│   ├── go.mod           # Go 模块 (go 1.24+)
│   └── Dockerfile
├── web/                 # Next.js 16 前端控制台
│   ├── src/             # App Router pages + components
│   ├── middleware.ts    # CSRF / session / CSP nonce
│   ├── package.json     # pnpm workspace
│   └── Dockerfile
├── deploy/
│   ├── compose/         # 本地开发 (PG + Redis + pgAdmin)
│   └── compose-prod/    # 生产单机 (gateway + web + PG + Redis 全栈)
└── .github/workflows/   # GitHub Actions CI (lint / test / build / govulncheck / gosec)

🚀 দ্ৰুত আৰম্ভণি

1. পূৰ্বৰ প্ৰয়োজনীয়তা

| সঁজুলি | সংস্কৰণ | | ------------ | ---------- | | Go | 1.24+ | | Node.js | 20.11+ | | pnpm | 9+ | | Docker | 24+ | | PostgreSQL | 14+ | | Redis | 7+ |

2. নিৰ্ভৰতা আৰম্ভ কৰা (Postgres + Redis + pgAdmin)

cd deploy/compose
cp .env.example .env       # 改强密码!
docker compose up -d

৩. Gateway পিছৰ অংশ আৰম্ভ কৰক

cd gateway
cp .env.example .env       # 与 deploy/compose/.env 的 PG/Redis 密码保持一致
go mod download
go run ./cmd/qqmusic-gateway

默认 :8080 (HTTP) + :9000 (gRPC)

首次启动会在 stderr 打印一个 superadmin 账号 + 临时密码

4. ৱেব কন্ট্ৰোল পেনেল আৰম্ভ কৰক

cd web
cp .env.example .env.local
pnpm install
pnpm dev

http://localhost:3000

🐳 উৎপাদন স্থাপন (Docker Compose একক যন্ত্ৰ)

cd deploy/compose-prod
cp .env.example .env

编辑 .env:填入真域名 / 强密码 / SMTP 凭据 / OAuth client

nano .env

生成 KEK

openssl rand -hex 32 # → 写到 POOL_KEK_HEX=

docker compose up -d --build docker compose logs -f gateway

সাৱধানতা:

🔐 OAuth2 (Linux.do) সংযোগ

   OAUTH_LINUXDO_ENABLED=true
   OAUTH_LINUXDO_CLIENT_ID=...
   OAUTH_LINUXDO_CLIENT_SECRET=...
   OAUTH_LINUXDO_MIN_TRUST_LEVEL=1
   OAUTH_PUBLIC_BASE=https://your-domain
   OAUTH_FRONTEND_BASE=https://your-domain
   ``
  • gateway পুনৰ আৰম্ভ কৰক, লগইন পৃষ্ঠা / পঞ্জীয়ন পৃষ্ঠা স্বয়ংক্ৰিয়ভাৱে "Linux.do এক-ক্লিক লগইন" দেখুৱাব

🧪 পৰীক্ষা / Lint

bash

Go

cd gateway go vet ./... go test -race ./... golangci-lint run --timeout=5m

Web

cd web pnpm lint pnpm typecheck
`

📦 মুখ্য নিৰ্ভৰশীলতা

বেকএন্ড

ফ্ৰণ্টএন্ড

📜 লাইচেঞ্চ

MIT — চাওক LICENSE

🤝 অৱদান

PR / Issue স্বাগতম। PR দিয়াৰ আগতে অনুগ্ৰহ কৰি:

🔒 সুৰক্ষা

সুৰক্ষাৰ সমস্যা পালে দয়া কৰি সোজাকৈ maintainer-ক যোগাযোগ কৰক, public issue খুলিব নালাগে।


MiChongs দ্বাৰা ❤️-সহ নিৰ্মিত

--- Tranlated By Open Ai Tx | Last indexed: 2026-06-08 ---