一个 Minecraft 地图列表站点,支持筛选、排序、分享卡片生成,用 Keycloak 做管理员登录。基于 Next.js + Prisma。
npm install
cp .env.example .env.local按需填写 .env.local 里的变量:
DATABASE_URL:数据库连接串(默认用 SQLite,改成别的数据库需要同步改prisma/schema.prisma里的provider)AUTH_URL/NEXT_PUBLIC_AUTH_URL:站点访问地址AUTH_KEYCLOAK_ID/AUTH_KEYCLOAK_SECRET/AUTH_KEYCLOAK_ISSUER:Keycloak 客户端配置,用于管理员登录AUTH_SECRET:NextAuth 用来签名 session 的密钥,随便生成一个随机字符串即可(如openssl rand -base64 32)
prisma/schema.prisma 是唯一的表结构定义,直接建库即可,不需要历史迁移记录:
npx prisma generate
npx prisma db pushnpm run dev参考 .github/workflows/deploy.yml,通过 SCP 把构建产物同步到服务器后用 pm2 重启;也可以直接用 Dockerfile 自行构建部署。