本文档详细说明了如何部署 AiPan NetDisk Search 项目。项目支持两种部署方式:Docker 部署和传统部署。
cp .env.example .env
.env
文件,配置必要的环境变量:
# 数据库配置(PostgreSQL)
DATABASE_URL="postgresql://username:password@host:5432/database_name"
DATABASE_SCHEMA="public"
SHADOW_DATABASE_URL="postgresql://username:password@host:5432/shadow_database_name"
# 管理员配置
ADMIN_USER="admin"
ADMIN_PASSWORD="your_password"
ADMIN_EMAIL="admin@example.com"
# JWT配置
JWT_SECRET="your_jwt_secret"
# 生成 Prisma 客户端
npx prisma generate
# 执行数据库迁移
npx prisma migrate deploy
docker-compose up -d
docker-compose ps
docker-compose logs -f aipan-netdisk-search
git pull origin main
npx prisma migrate deploy
docker-compose up -d --build
# 使用 nvm 安装 Node.js
nvm install 20.18.0
nvm use 20.18.0
npm install -g pnpm
git clone <项目地址>
cd aipan-netdisk-search
pnpm install
cp .env.example .env
# 编辑 .env 文件,配置必要的环境变量
# 生成 Prisma 客户端
npx prisma generate
# 执行数据库迁移
npx prisma migrate deploy
npm run build
# 使用 PM2 启动(推荐)
cp ecosystem.config.cjs.example ecosystem.config.cjs
# 编辑 ecosystem.config.cjs 配置文件
pm2 start ecosystem.config.cjs
# 或直接启动
npm run start
必要的环境变量配置:
# 数据库配置
DATABASE_URL="postgresql://username:password@host:5432/database_name"
DATABASE_SCHEMA="public"
SHADOW_DATABASE_URL="postgresql://username:password@host:5432/shadow_database_name"
# 管理员配置
ADMIN_USER="admin"
ADMIN_PASSWORD="your_password"
ADMIN_EMAIL="admin@example.com"
# JWT配置
JWT_SECRET="your_jwt_secret"
# 应用配置
NUXT_HOST="0.0.0.0"
NUXT_PORT=3000
项目使用 Prisma ORM,主要数据模型包括:
npx prisma migrate status
npx prisma migrate dev --name your_migration_name
npx prisma migrate reset
建议定期备份数据库:
pg_dump -U username -h hostname database_name > backup.sql
如果 3000 端口被占用,可以通过以下方式修改:
docker-compose.yml
中的端口映射.env
文件中的 NUXT_PORT
pm2 monit
# PM2 日志
pm2 logs
# Docker 日志
docker-compose logs -f
项目使用了优化的数据库连接池配置,位于 lib/prisma.js
。主要配置项包括:
const pool = {
max: 10, // 最大连接数
min: 2, // 最小连接数
idleTimeoutMillis: 60000, // 空闲连接超时时间
connectionTimeoutMillis: 5000 // 连接超时时间
}
~/lib/prisma
导入)如有任何问题,请查看: