安裝指南
環境需求、從原始碼建置、安裝預編譯二進位檔、校驗和驗證,以及在 FreeBSD 上執行 nostrfy 的注意事項。
環境需求
- 較新的穩定版 Rust 工具鏈(僅在建置中繼時需要)。
- Linux 機器。
- 建議 2 GB 或更多記憶體 — 0.25 vCPU / 512 MB VPS 請參閱下方的低規格說明。
低規格 VPS(0.25 vCPU / 512 MB)
即使資料庫超過記憶體,nostrfy 也已驗證可穩定執行。LMDB 映射是 稀疏的 1 TiB 虛擬保留 — 實體磁碟只隨寫入的資料成長 — 處理程序記憶體保持平穩:資料庫 252 MB 的中繼僅佔用 7.9 MB 私有 RSS (其餘是可回收的檔案快取,核心會在壓力下逐出)。
對於微型 VPS,一項設定影響最大:
toml
[database]
search_index = false # halves the database size and saves CPU/IO| 設定 | 效果 | 實測 |
|---|---|---|
search_index = false | 停用 NIP-50 詞索引 — 搜尋仍可用(全詞比對)但較慢 | 每 10,000 事件 41.8 MB → 20.5 MB |
| 預設值 | 已針對低記憶體調校 | 512 MB 無需變更 |
從原始碼建置
sh
git clone https://github.com/iqbqioza/nostrfy.git
cd nostrfy
cargo build --release建置完成後,二進位檔位於 target/release/nostrfy。
安裝預編譯二進位檔
發行工作流程附帶 Linux x86_64、Linux aarch64 與 FreeBSD x86_64 的預編譯二進位檔。同一個 install.sh 在兩個系統上都能使用 — 它會偵測平台、下載相符的二進位檔並驗證其校驗和:
sh
curl -fsSL https://raw.githubusercontent.com/iqbqioza/nostrfy/main/install.sh | shFreeBSD
nostrfy 可在 FreeBSD 13.x 與 14.x(amd64)上建置與執行。安裝 Rust 並建置:
sh
pkg install -y rust
cargo build --release平台說明:
start/stop/restart使用的處理程序存活檢查在 FreeBSD 上透過kern.proc.pid.<pid>.commsysctl 讀取處理程序名稱(在 Linux 上使用/proc/<pid>/comm),因此兩個平台都能偵測到 pid 被其他程式重複使用的過期 pid 檔案。nostrfy start像在 Linux 上一樣常駐化;標準的雙 fork 常駐程式可與預設的rc整合(service nostrfy start)搭配使用。- Blossom 的
min_free_bytes檢查使用statvfs,兩個系統都提供;沒有 使用其他平台特定程式碼(中繼本身只是基於 tokio 的純非同步 Rust)。
在 80 連接埠上執行
一般使用者無法綁定 80 連接埠。要嘛用 sudo 執行,要嘛使用 8080 等較高的連接埠。
sh
nostrfy --config nostrfy.toml start範例:在 8080 連接埠執行(一般使用者即可;請先在設定中變更連接埠)。