在 Ubuntu 22 上部署 RSS-Translator 服务

在 Ubuntu 22 上部署 RSS-Translator 服务

所谓诚其意者 毋自欺也

RSS-Translator 是一个实用的工具,可以订阅 RSS 源并将其内容翻译成指定语言后,生成新的 RSS 源供阅读。本文将介绍如何使用官方提供的安装脚本,在 Ubuntu 22.04 LTS 服务器上快速部署 RSS-Translator。

使用官方脚本部署

官方提供了一个便捷的安装与更新脚本,可以自动化处理大部分部署工作,包括依赖检查和环境配置(通常基于 Docker 和 Docker Compose)。

1. 创建目录并下载脚本

首先,通过 SSH 登录到你的 Ubuntu 服务器,然后创建一个用于存放 RSS-Translator 相关文件的目录,并进入该目录:

1
2
3
4
5
6
7
8
mkdir -p ~/rss-translator
cd ~/rss-translator
````

接着,使用 `wget` 命令从官方 GitHub 仓库下载最新的 `install_update.sh` 脚本:

```bash
wget "[https://raw.githubusercontent.com/rss-translator/RSS-Translator/main/deploy/install_update.sh](https://raw.githubusercontent.com/rss-translator/RSS-Translator/main/deploy/install_update.sh)"

2. 赋予脚本执行权限并执行

下载完成后,需要给脚本添加执行权限:

1
sudo chmod +x install_update.sh

然后,执行该脚本来开始安装或更新 RSS-Translator:

1
sudo ./install_update.sh

该脚本会自动检查并可能提示安装 Docker 和 Docker Compose(如果系统尚未安装),然后会拉取项目代码/镜像,配置并启动服务。请根据脚本执行过程中的提示进行操作。

3. 访问服务与后续配置

基础搭建完成后,RSS-Translator 服务默认会监听在服务器的 8000 端口。你可以通过以下方式访问:

  • 直接 IP 访问: 在浏览器中输入 http://<你的服务器IP>:8000
  • 配置反向代理 (推荐): 为了方便使用和管理(例如绑定域名、启用 HTTPS),通常建议使用 Nginx、Caddy 或其他反向代理工具将域名(如 rss-translator.yourdomain.com)代理到 http://localhost:8000http://127.0.0.1:8000

部署成功后的界面类似下图:

  • 开启 SSL: 如果你需要为服务启用 HTTPS,可以参考 官方教程中的 SSL 部分 进行配置,这通常涉及到修改 Docker Compose 文件和获取证书。

解决常见问题:Nginx 反代下的 CSRF 错误

如果你配置了 Nginx 作为反向代理,可能会在尝试登录或执行某些操作时遇到 CSRF verification failed. Request aborted. 的错误。

原因: 这通常是因为 Nginx 在转发请求时,没有正确传递原始的 Host 头或 X-Forwarded-Proto (HTTPS) 等信息,导致 Django 后端无法验证请求来源的安全性(CSRF 令牌验证失败)。

解决方案: 最直接的方法是告诉 Django 哪些域名是受信任的来源。对于通过安装脚本部署(很可能使用 Docker Compose)的情况,可以在 docker-compose.yml 文件中为 RSS-Translator 服务设置 CSRF_TRUSTED_ORIGINS 环境变量。

  1. 找到由安装脚本创建或管理的 docker-compose.yml 文件(通常位于你创建的 ~/rss-translator 或其子目录下)。

  2. 编辑该文件,在 services -> rss-translator (或者类似的服务名) 下找到或添加 environment 部分,并加入 CSRF_TRUSTED_ORIGINS 变量:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    # docker-compose.yml (示例片段)
    services:
    rss-translator: # 服务名可能不同,请根据实际文件调整
    # ... 其他服务配置,如 image, ports, volumes ...
    environment:
    # ... 可能存在的其他环境变量 ...
    CSRF_TRUSTED_ORIGINS: "[https://your.domain.com](https://your.domain.com),[http://your.domain.com](http://your.domain.com)"
    # ^-- 将 your.domain.com 替换为你的实际访问域名
    # ^-- 如果你只用 https, 可以只写 [https://your.domain.com](https://your.domain.com)
    # ^-- 如果有多个域名,用逗号 `,` 分隔
    # ... 其他服务 ...
  3. 保存 docker-compose.yml 文件。

  4. 重启服务 使配置生效。你可以在 docker-compose.yml 文件所在的目录下执行以下命令:

    1
    2
    3
    4
    5
    6
    7
    # 推荐使用 docker compose (V2 插件)
    docker compose down
    docker compose up -d

    # 如果你使用的是独立的 docker-compose (V1 或独立 V2)
    # docker-compose down
    # docker-compose up -d

    或者,再次运行 sudo ./install_update.sh 脚本通常也能应用更新后的配置。

修改后,再次访问你的域名,CSRF 错误应该就解决了。

总结

通过官方提供的安装脚本,在 Ubuntu 22 上部署 RSS-Translator 变得相对简单。配置反向代理并解决可能出现的 CSRF 问题后,你就可以顺畅地使用这个强大的 RSS 翻译订阅工具了。

  • Title: 在 Ubuntu 22 上部署 RSS-Translator 服务
  • Author:
  • Created at : 2024-01-26 00:26:34
  • Updated at : 2025-04-29 19:22:32
  • Link: https://xblog.aptzone.cc/2024/01/26/在Ubuntu-22上部署RSS-Translator/
  • License: All Rights Reserved © 凡
Comments