docs: 增加项目获取与更新说明

This commit is contained in:
2026-06-22 23:39:25 +02:00
parent cee8ab479b
commit fdfbfa063f
+45 -4
View File
@@ -108,11 +108,52 @@
建议在开发和生产环境使用相同的 Node.js 主版本,避免依赖构建结果不一致。 建议在开发和生产环境使用相同的 Node.js 主版本,避免依赖构建结果不一致。
## 本地开发 ## 获取与更新项目
推荐使用 SSH 克隆。Gitea 的 SSH 服务使用 `2222` 端口:
```bash ```bash
git clone ssh://git@git.polarisx.net:2222/mikemoi/MindScope.git git clone ssh://git@git.polarisx.net:2222/mikemoi/MindScope.git
cd MindScope cd MindScope
```
也可以使用 HTTPS
```bash
git clone https://git.polarisx.net/mikemoi/MindScope.git
cd MindScope
```
私有仓库通过 HTTPS 克隆时,请使用 Gitea 用户名和访问令牌,不要把账户密码或访问令牌写进命令、脚本或仓库文件。
服务器已经部署过项目时,使用以下命令获取最新版本并重新构建:
```bash
cd /opt/mindscope
git pull --ff-only origin main
pnpm install --frozen-lockfile
pnpm build
mkdir -p .next/standalone/.next
rm -rf .next/standalone/.next/static
cp -r .next/static .next/standalone/.next/static
sudo systemctl restart mindscope
sudo systemctl status mindscope --no-pager
```
如果以后增加了 `public` 目录,构建后还需要同步公开静态文件:
```bash
rm -rf .next/standalone/public
cp -r public .next/standalone/public
```
`.env*``.next``node_modules`、日志和本地压缩包已被 `.gitignore` 排除,执行 `git pull` 不会提交或下载这些本地运行文件。更新前如有未提交的源码修改,先运行 `git status` 检查;`git pull --ff-only` 会在分支无法安全快进时停止,而不会自动创建合并提交。
## 本地开发
```bash
pnpm install --frozen-lockfile pnpm install --frozen-lockfile
pnpm dev pnpm dev
``` ```
@@ -173,7 +214,7 @@ HOSTNAME=127.0.0.1 PORT=3000 NODE_ENV=production node server.js
### systemd 服务示例 ### systemd 服务示例
假设项目部署到 `/opt/mindscope`Node.js 位于 `/usr/bin/node` 假设项目源码部署到 `/opt/mindscope`Node.js 位于 `/usr/bin/node`
```ini ```ini
[Unit] [Unit]
@@ -184,11 +225,11 @@ After=network.target
Type=simple Type=simple
User=mindscope User=mindscope
Group=mindscope Group=mindscope
WorkingDirectory=/opt/mindscope WorkingDirectory=/opt/mindscope/.next/standalone
Environment=NODE_ENV=production Environment=NODE_ENV=production
Environment=HOSTNAME=127.0.0.1 Environment=HOSTNAME=127.0.0.1
Environment=PORT=3000 Environment=PORT=3000
ExecStart=/usr/bin/node /opt/mindscope/server.js ExecStart=/usr/bin/node /opt/mindscope/.next/standalone/server.js
Restart=on-failure Restart=on-failure
RestartSec=5 RestartSec=5
NoNewPrivileges=true NoNewPrivileges=true