伺服器需要一個網域名稱(例如 remote.example.com),以及指向伺服器的 DNS A/AAAA 記錄。可以從 1 vCPU、1 GB 記憶體的小型伺服器開始。
/etc/tastedev-remote/,資料位於 /var/lib/tastedev-remote/。/etc/tastedev-remote/tasteremote-signal.env。必填的值如下:| 值 | 意思 |
|---|---|
TURN_SECRET | 與 coturn 共用的密鑰(16 個字元以上)。用 openssl rand -hex 32 產生。 |
RD_SETUP_TOKEN | 建立第一個管理員帳號時輸入的設定權杖(32 個字元以上)。第一個帳號建立後可以移除。 |
RD_WEB_ORIGIN | 使用者開啟的網址。例如:https://remote.example.com |
TURN_URLS | 例如:turn:remote.example.com:3478?transport=udp,turn:remote.example.com:3478?transport=tcp |
/etc/turnserver.conf 的 static-auth-secret 設為與 TURN_SECRET 相同的值。sudo apt install coturnsudo systemctl enable --now tasteremote-signal tasteremote-web tasteremote-update.timer/downloads/ 會回傳 503,下載頁面會顯示「此伺服器還沒有安裝檔」。在無法連上網際網路的伺服器上,請自行把安裝檔放到 downloads/ 資料夾。sudo tasteremote-fetch-hosts在 Windows 伺服器上,設定位於 %ProgramData%\tasteremote\config\,資料位於 %ProgramData%\tasteremote\data,並以服務執行。
以第一個管理員帳號登入,開啟管理 › 伺服器安裝。精靈會分五個步驟產生設定檔和指令,由管理員透過 SSH 貼上並執行。此頁面本身不會在伺服器上執行任何東西。
RD_WEB_ORIGIN、RD_COOKIE_SECURE=1、TRUST_PROXY=1 等值,以及確認用的指令。會確認 /healthz 有回應,以及 /ws 連線會切換為 101(400 或 426 表示代理丟掉了 WebSocket 標頭)。需要 Docker Engine 25 以上和 Compose v2.24 以上。
deploy/ 資料夾中,把 .env.example 複製為 .env,並限制其權限。cp .env.example .env && chmod 600 .env.env 中填寫 DOMAIN、ACME_EMAIL、TURN_SECRET、RD_SETUP_TOKEN、TURN_EXTERNAL_IP 等值。docker compose up -d --build| 值 | 預設值 | 意思 |
|---|---|---|
PORT / HOST | 8080 / 0.0.0.0 | signal 監聽的連接埠與位址。套件會設為 127.0.0.1。 |
TRUST_PROXY | 0 | 前方代理的數量。單一代理時為 1。設錯時,所有使用者都會顯示為同一個 IP,並一起觸及限制。 |
RD_DB_PATH | ./data/signal.db | 資料庫(SQLite)檔案 |
RD_SERVER_KEY_FILE | ./data/server.key | 伺服器簽章金鑰。遺失時,所有主機都必須重新註冊。 |
RD_ALLOW_SIGNUP | 關閉 | 允許在第一個帳號之後註冊。在管理頁面中設定的值優先。 |
RD_COOKIE_SECURE | 正式環境中開啟 | 工作階段 Cookie 的 Secure 旗標 |
TURN_TTL_SEC | 600 | TURN 認證資訊的有效時間(秒) |
RD_LICENSE_CLAIM_URL | TASTEDEV 位址 | 授權安裝碼兌換位址。無法連上網際網路的伺服器請設為 off |
RD_HOST_VERSION_CHECK | on | 設為 off 時,也允許連線與伺服器前兩位版本號不同的主機。 |
LOG_LEVEL | info | 設為 debug 會更詳細地記錄連線時間。 |
郵件(SMTP)與社群登入在管理頁面中設定,而不是在設定檔中。
下一步是 初始設定。