前置条件

  • Node.js 20+
  • npm 10+
  • Docker Desktop(用于本地 PostgreSQL)
  • 可访问项目目录:~/web/gump-website

Step 1: 安装依赖

cd ~/web/gump-website
npm install

Step 2: 配置环境变量

复制示例并按需修改:
copy .env.example .env
最小可用配置示例:
DATABASE_URL="postgresql://postgres:postgres@localhost:5432/gump_app?schema=public"
ADMIN_PASSWORD="replace-with-your-password"
ADMIN_SESSION_TTL_HOURS="24"

Step 3: 启动数据库

npm run db:up
查看日志:
npm run db:logs

Step 4: 执行迁移并生成 Prisma Client

npm run db:generate
npm run db:migrate -- --name init_blog

Step 5: 同步内容到数据库

npm run content:sync
如果你只想预演,不落库:
npm run content:sync:dry

Step 6: 启动网站

npm run dev
默认访问:http://localhost:3000

Step 7: 验证关键页面

  • 首页:/
  • 博客:/blog
  • 阅读:/reading
  • 旅行:/travel
  • 项目:/projects
  • 后台登录:/admin/login

Step 8: 验证后台同步链路

  1. 打开 /admin/login
  2. 使用 ADMIN_PASSWORD 登录
  3. 进入后台后执行内容同步
  4. 刷新 /blog/travel 验证内容变更
如果你切换了 DATABASE_URL,请先确认数据库实例和端口一致,再执行迁移和同步。

常见启动问题

数据库容器冲突

docker stop gump-postgres
docker rm gump-postgres
npm run db:up

迁移失败

检查 .envDATABASE_URL 是否正确,并确认数据库已启动。

同步失败

先运行 npm run content:sync:dry 定位具体错误,再修复对应内容文件。

下一步

  • 你要维护内容:继续看 /guides/content-blog
  • 你要开发功能:继续看 /development
  • 你要部署上线:继续看 /guides/deployment
  • 你要做上线验收:继续看 /guides/release-checklist