万界道友

cd /www/wwwroot/daoyou && bun run build && systemctl restart daoyou

重建

查看实时日志

journalctl -u daoyou -f

搭建过程

万界道友(Daoyou)宝塔面板部署全流程

一、环境准备(宝塔面板操作)

1.1 安装 Bun 运行时

curl -fsSL https://bun.sh/install | bash

exec /bin/bash

bun -v

1.2 安装 PostgreSQL(宝塔 → 软件商店 → PostgreSQL)

创建数据库 daoyou

创建用户 daoyou,密码自定

1.3 安装 Redis(宝塔 → 软件商店 → Redis)
保持默认配置 6379 端口即可
1.4 安装 Nginx(宝塔 → 软件商店 → Nginx)
用于反向代理

二、上传项目

先在宝塔创建网站目录

mkdir -p /www/wwwroot/daoyou

本地执行,上传全部源码

scp -r d:/kf/Daoyou-master/Daoyou-master/* root@45.192.107.13:/www/wwwroot/daoyou/

三、配置环境变量

编辑 /www/wwwroot/daoyou/.env.production:

PORT=3000

===== AI(DeepSeek)=====

PROVIDER_CHOOSE=deepseek
DEEPSEEK_API_KEY=sk-你的key
DEEPSEEK_BASE_URL=https://api.deepseek.com
DEEPSEEK_MODEL_USE=deepseek-chat # ⚠️ 不要填 deepseek-v4-flash!
DEEPSEEK_MODEL_FAST_USE=deepseek-chat

===== 数据库 =====

DATABASE_URL=postgresql://daoyou:你的密码@127.0.0.1:5432/daoyou

===== Redis =====

REDIS_URL=redis://127.0.0.1:6379/0

===== Better Auth =====

BETTER_AUTH_SECRET=你的密钥
BETTER_AUTH_URL=http://你的服务器IP
BETTER_AUTH_DB_SCHEMA=better_auth # ⚠️ 不要填 public!

===== 定时任务 =====

CRON_SECRET=你的定时任务密钥

===== 邮件 =====

SMTP_HOST=smtp.qq.com
SMTP_PORT=465
SMTP_SECURE=true
SMTP_USER=你的QQ@qq.com
SMTP_PASS=QQ邮箱授权码 # ⚠️ 是授权码,不是QQ密码!
MAIL_FROM=”万界道友 <你的QQ@qq.com>”

===== 管理员 =====

ADMIN_EMAILS=你的邮箱@qq.com

四、安装依赖 & 构建

cd /www/wwwroot/daoyou
bun install
bun run build

五、数据库初始化

应用业务表

bunx drizzle-kit migrate

初始化 Auth 表

bun run auth:migrate

六、配置 Nginx 反向代理
宝塔 → 网站 → 对应站点 → 配置文件,替换为:

nginx

server {
listen 80;
server_name 你的IP或域名;

location / {
    proxy_pass http://127.0.0.1:3000;
    proxy_set_header Host $host;
    proxy_set_header X-Real-IP $remote_addr;
    proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    proxy_set_header X-Forwarded-Proto $scheme;
}

access_log /www/wwwlogs/daoyou.log;
error_log /www/wwwlogs/daoyou.error.log;

}

验证并重载

nginx -t && nginx -s reload

七、配置 Systemd 服务(保活)
创建 /etc/systemd/system/daoyou.service:

[Unit]
Description=Daoyou Hono App
After=network.target postgresql.service redis.service

[Service]
Type=simple
User=root
WorkingDirectory=/www/wwwroot/daoyou
ExecStart=/root/.bun/bin/bun run dist/index.js
Restart=always
RestartSec=5
Environment=NODE_ENV=production

[Install]
WantedBy=multi-user.target

启动服务:

systemctl daemon-reload
systemctl enable daoyou
systemctl start daoyou

八、验证

检查服务状态

systemctl status daoyou

健康检查

curl http://127.0.0.1:3000/api/health-check

实时日志

journalctl -u daoyou -f –no-pager

九、日常更新流程

cd /www/wwwroot/daoyou && bun run build && systemctl restart daoyou

使用方式
上传到服务器后构建部署
进入 /admin/qq-login 页面配置 AppID、AppKey、回调地址
回调地址格式:https://你的域名/api/qq-auth/callback
启用后在登录/注册页即可看到 QQ 登录入口

绝对重构

cd /www/wwwroot/daoyou
bun install
bun run vite build –mode client && bun run vite build && systemctl restart daoyou

第一步 — 删除锁文件和缓存重装:

cd /www/wwwroot/daoyou && rm -rf node_modules bun.lock && bun install

第二步 — 直接试客户端构建,确认不是 bun 脚本缓存问题:

cd /www/wwwroot/daoyou && bun vite build –config vite.config.client.ts

你每次还原备份都把构建配置覆盖了。别用 bun run build 了,直接执行:

cd /www/wwwroot/daoyou && bun vite build –config vite.config.client.ts && bun vite build && systemctl restart daoyou

世界树

一步一步来

您可能还喜欢...