# 文档站部署

这套配置用于将 MkDocs 文档站部署到 `106.54.23.149`，并通过 `docs.xuqinmin.com` 访问。

## 目录约定

| 位置 | 用途 |
|------|------|
| `/var/www/docs.xuqinmin.com/site` | 文档站静态文件 |
| `/var/www/docs.xuqinmin.com/webroot` | ACME 校验目录 |
| `/etc/nginx/sites-available/docs.xuqinmin.com.conf` | Nginx 站点配置 |

## 首次部署

1. 在服务器安装 `nginx`、`rsync`、`acme.sh`。
2. 将仓库中的 `nginx-docs.conf` 放到 `/etc/nginx/sites-available/docs.xuqinmin.com.conf`。
3. 创建目录：

```bash
sudo mkdir -p /var/www/docs.xuqinmin.com/site /var/www/docs.xuqinmin.com/webroot
```

4. 启用 Nginx 站点并检查配置。
5. 使用 `acme.sh` 的 webroot 模式为 `docs.xuqinmin.com` 申请证书，并安装到 `/opt/xuqm/acme/docs.xuqinmin.com_ecc/`。
6. 将 `certbot-renew-hook.sh` 作为重载 Nginx 的通用 hook 使用，或者在 `acme.sh` 的 `--reloadcmd` 中直接调用 `systemctl reload nginx`。

## 自动更新

推荐在 `106.54.23.149` 上安装一个自动同步任务，执行入口建议使用仓库中的 `scripts/sync-docs-site.sh`。

该任务检测到 `main` 分支更新后会：

1. 检出仓库。
2. 安装 `mkdocs-material`。
3. 构建站点。
4. 同步到 `/var/www/docs.xuqinmin.com/site`。

## 本地预览

```bash
make docs-build
make docs-serve
```
