https://github.com/koujialong/ray-admin
基于next rsc prisma trpc zod shadcn jotai typescrip等构建的全栈admin starter
https://github.com/koujialong/ray-admin
admin jotai nextjs prisma rsc shadcn shadcn-ui trpc typescript zod
Last synced: 3 months ago
JSON representation
基于next rsc prisma trpc zod shadcn jotai typescrip等构建的全栈admin starter
- Host: GitHub
- URL: https://github.com/koujialong/ray-admin
- Owner: koujialong
- License: apache-2.0
- Created: 2024-12-05T09:05:17.000Z (12 months ago)
- Default Branch: main
- Last Pushed: 2024-12-25T06:03:12.000Z (11 months ago)
- Last Synced: 2024-12-25T07:18:25.009Z (11 months ago)
- Topics: admin, jotai, nextjs, prisma, rsc, shadcn, shadcn-ui, trpc, typescript, zod
- Language: TypeScript
- Homepage: https://koujialong-ray.vercel.app
- Size: 751 KB
- Stars: 6
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-shadcnui - Github - ray.vercel.app) | ★20 | (Boilerplates & Starters)
README
# 简介
Ray是一个免费开源的全栈中后台模板,采用了 Next、TRPC、Prisma、TypeScript 等主流技术开发,开箱即用,可用于中后台全栈开发,也适合学习参考。
# 服务搭建
## 数据库
* 创建.env配置文件
```shell
# 配置数据库连接,以postgres为例
DATABASE_URL="postgres://{用户名}:{密码}@{域名}:{端口}/{库名}"
```
修改/prisma/schema.prisma 到对应数据库类型
```
datasource db {
provider = "postgres"
url = env("DATABASE_URL")
}
```
[其他数据库配置](https://www.prisma.io/docs/reference/database-reference/connection-urls#env)
```shell
# 配置NEXTAUTH_SECRET
NEXTAUTH_SECRET="xxxxxx"
```
```shell
#秘钥生成方式
openssl rand -base64 32
```
* 初始化表结构
```shell
pnpm db:push
```
* 初始化表数据
```shell
pnpm db:seed
```
或者
```shell
node --loader ts-node/esm .\prisma\seed.ts
```
## 本地启动服务
```shell
pnpm i
pnpm dev
```
默认账号:admin/admin@123
## Docker构建
* 创建docker-compose.yml
* 复制docker-compose-example.yml内容到docker-compose.yml
* 修改环境变量
```shell
environment:
- DATABASE_URL="xxxx"
- NEXTAUTH_SECRET="xxxx"
```
* 启动服务
```shell
docker compose up -d
```
注:如需要单独打包镜像使用一下脚本
```shell
docker build -t ray-docker --build-arg NEXT_PUBLIC_CLIENTVAR=clientvar .
```