Skip to content

Repository files navigation

Maplist

一个 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 push

本地开发

npm run dev

打开 http://localhost:3000

部署

参考 .github/workflows/deploy.yml,通过 SCP 把构建产物同步到服务器后用 pm2 重启;也可以直接用 Dockerfile 自行构建部署。

Contributors

Languages