这一页把 Courier 装到一台已经准备好的服务器上:Linux、80 和 8443 已放行、有一个客户端能用的地址。
部署 Courier
Section titled “部署 Courier”两种做法干的是同一件事。桌面端通过 SSH 帮你做,服务器上什么都不用准备;命令行是自己一步步来。选一种即可, 最后得到的是同一个地址。
- 打开 Courier 桌面端,进入连接服务器页,四栏这样填:
- 服务器名称:随便起,方便你自己区分,例如
vps-fra1 - 服务器地址:服务器的公网 IP,或指向它的域名
- SSH 用户名:
root,多数云服务器的默认用户 - 服务器密码:服务器的登录密码,不是库密码
- 服务器名称:随便起,方便你自己区分,例如
- 点登录服务器。
- 连上之后,左侧进服务状态页,点部署服务。
- 弹窗里两栏:
- 端口:填你开放的端口(8443)。80 要留给证书验证,不能占用。
- 服务端程序:保持默认的从官方地址下载。
- 点开始部署。它会依次完成四步:准备服务器 → 安装 Courier → 配置 HTTPS → 启动并检查。
- 等界面显示运行中。第一次通常 1–3 分钟,中途不要关窗口。
先登录服务器——下面每条命令都在服务器上跑,不是在你自己的电脑上:
ssh root@YOUR_IP1. 把程序放到位
mkdir -p ~/courier && cd ~/courierBASE=https://cnb.cool/ah-yu/courier/-/releases/download/latestcurl -fL -O "$BASE/courier-server-linux-x64"mv courier-server-linux-x64 courierchmod +x courier2. 允许它用 80 端口,然后建库
sudo setcap cap_net_bind_service=+ep ~/courier/couriercd ~/courier && ./courier migrate第一条是整个服务器上唯一需要特权的地方:只给这一个文件监听 80 端口、应答证书检查的权力。以后换掉这个
文件,就要重新执行一次。机器上没有 setcap 的话,先 sudo apt install -y libcap2-bin。
3. 让它作为服务运行
把下面内容写进 ~/.config/systemd/user/courier.service,把里面的地址和端口换成你自己的:
[Unit]Description=Courier Sync ServerAfter=network.target
[Service]Type=simpleWorkingDirectory=%h/courierEnvironment=PORT=8443Environment=TLS_NAME=YOUR_IPExecStart=%h/courier/courier start --port 8443Restart=on-failureRestartSec=5StandardOutput=journalStandardError=journal
[Install]WantedBy=default.targetTLS_NAME——客户端会用的那个地址:公网 IP,或指向它的域名。必须和每台设备里填的完全一致。PORT和--port——你开放的端口(这里是 8443)。
然后启动它,并让它在你关掉 SSH 之后继续跑:
mkdir -p ~/.config/systemd/usersystemctl --user daemon-reloadsystemctl --user enable --now couriersudo loginctl enable-linger $USER4. 看着它起来
journalctl --user -u courier -f一分钟内会打印 Server running at https://YOUR_IP:8443。证书随后几秒到一分钟就位;在那之前 HTTPS
请求会被拒绝,这是正常的。
5. 创建密钥
管理密钥(ak_...)是管理员凭据,在服务器上创建,只显示一次:
cd ~/courier && ./courier apikey create admin记下这串 ak_ 密钥——下一章用命令行给每个人建用户密钥时,还要用它。
用它给每个人建一个用户密钥(ck_...)。这个才是要填进 Obsidian 的:
curl -sS -X POST https://YOUR_IP:8443/api/users \ -H "Authorization: Bearer ak_xxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{"name":"Alice"}'返回里的 "key" 就是完整密钥,复制下来——只在这里显示。
以后升级
用新程序覆盖旧的,再重新授权(这个权限属于文件本身),然后重启:
cd ~/courierBASE=https://cnb.cool/ah-yu/courier/-/releases/download/latestcurl -fL -O "$BASE/courier-server-linux-x64"mv -f courier-server-linux-x64 courierchmod +x courier && sudo setcap cap_net_bind_service=+ep ~/courier/courier./courier migrate && systemctl --user restart courier下一章:在 Obsidian 里连接。