在 Ubuntu 22 上部署 RSS-Translator 服务

本文摘要RSS-Translator 是一个实用的工具,可以订阅 RSS 源并将其内容翻译成指定语言后,生成新的 RSS 源供阅读。本文将介绍如何使用官方提供的安装脚本,在 Ubuntu 22.04 LTS 服务器上快速部署 RSS-Translator。使用官方脚本部署官方提供了一个便捷的安装与更新脚本,可以自动化处理大部分部署工作,包括依赖检查和环境配置(通常基于 Docker 和 Docker Co...

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

使用官方脚本部署

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

1. 创建目录并下载脚本

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

12345678
mkdir -p ~/rss-translatorcd ~/rss-translator````接着,使用 `wget` 命令从官方 GitHub 仓库下载最新的 `install_update.sh` 脚本:```bashwget "[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 环境变量。

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

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

1234567891011
# 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)      # ^-- 如果有多个域名,用逗号 `,` 分隔# ... 其他服务 ...

保存 docker-compose.yml 文件。

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

1234567
# 推荐使用 docker compose (V2 插件)docker compose downdocker 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 翻译订阅工具了。

觉得内容不错?我要

评论 暂无评论
此页面未开启评论