Skip to content

二进制与源码构建

英文翻译待补,当前显示简体中文。 / English translation pending — showing Simplified Chinese.

真遇 server 是单二进制程序,不依赖外部数据库或中间件:启动后会在数据目录内创建 SQLite 数据库与媒体文件目录。除了容器,你也可以直接把它作为普通进程运行。

获取二进制

正式的二进制制品与源码仓库将在公开发布时提供(含校验和)。在那之前可用容器方式运行,见 Docker 部署。

从源码构建

公开仓库就绪后,可用 Rust 工具链自行构建:

target/release/gather-server
cargo build -p gather-server --release --no-default-features

将二进制安装到系统路径:

终端窗口
sudo install -m 0755 target/release/gather-server /usr/local/bin/gather-server

运行

终端窗口
/usr/local/bin/gather-server --config /srv/gather/server.toml
  • 配置文件也可用 -c <path> 或环境变量 GATHER_CONFIG 指定;不指定时会探测工作目录下的 gather-server-1.toml。
  • 相对路径(data_dir、TLS 证书)按启动时的工作目录解析,建议在固定的工作目录下运行。
  • 日志级别由 RUST_LOG 控制(默认 info):
终端窗口
RUST_LOG="info,gather_sql=debug" /usr/local/bin/gather-server --config /srv/gather/server.toml

常驻(systemd)

新建 /etc/systemd/system/gather-server.service:

[Unit]
Description=Gather server
After=network-online.target
Wants=network-online.target
[Service]
User=gather
Group=gather
WorkingDirectory=/srv/gather
ExecStart=/usr/local/bin/gather-server --config /srv/gather/server.toml
Restart=on-failure
RestartSec=3
Environment=RUST_LOG=info
NoNewPrivileges=true
ProtectSystem=strict
ReadWritePaths=/srv/gather/data
[Install]
WantedBy=multi-user.target
终端窗口
sudo useradd --system --home /srv/gather --shell /usr/sbin/nologin gather
sudo chown -R gather:gather /srv/gather/data
sudo systemctl daemon-reload
sudo systemctl enable --now gather-server
journalctl -u gather-server -f

下一步