部署 Tiny Tiny RSS 遇见的坑

部署 Tiny Tiny RSS 遇见的坑

笔者按照教程和文档[1] [2] [3],在 VPS 上部署了 Awesome Tiny Tiny RSS (以下简称 TTRSS)。在这个过程中,踩了很多坑,在此记录下来。

环境

  • Ubuntu 20.04 LTS
  • 宝塔面板
  • LNMP (用面板安装)
  • Docker (另行安装)

用管理员身份执行

安装 docker、部署 TTRSS、用 docker-compose 命令操作 TTRSS 时,每条命令都需要用管理员身份执行。

Postgres 数据库的密码

docker-compose.yml 文件中,POSTGRES_PASSWORDDB_PASS 这两项,需要在部署 TTRSS 之前就设置好。

这两项,需要在部署 TTRSS 之前就设置好

如果部署 TTRSS 之后再修改这两个密码,那么在访问 TTRSS 的 URL时,会得到一个空白页面(白屏)。

我不会重置密码,只能用 sudo rm -rf /root/postgres/data 命令强行删除全部的 Postgres 数据库 🤷‍♀️。

验证 TTRSS 是否运行

SSH 连接到 VPS,执行:

1
curl http://127.0.0.1:181/

如果 curl 返回如下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<!DOCTYPE html>
<html>
<head>
<title>Startup failed</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="themes/light.css">
</head>
<body class="sanity_failed flat ttrss_utility">
<div class="content">
<h1>Startup failed</h1>

<p>Please fix errors indicated by the following messages:</p>

<div class="alert alert-danger">Please set SELF_URL_PATH to the correct value detected for your server: <b>http://127.0.0.1:181</b> (you're using: <b>https://ttrss.kukmoon.com</b>)</div>
<p>You might want to check tt-rss <a target="_blank" href="https://tt-rss.org/wiki.php">wiki</a> or the
<a target="_blank" href="https://community.tt-rss.org/">forums</a> for more information. Please search the forums before creating new topic
for your question.</p>
</div>
</body>
</html>

说明 TTRSS 已在后台运行,需要正确地配置反向代理。

配置 HTTPS 与反向代理

新建一个站点配置文件:

1
sudo nano /etc/nginx/sites-available/ttrss.kukmoon.com.conf

粘贴以下内容:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
server
{
listen 80;
server_name ttrss.kukmoon.com;
gzip on;

# 为了给 Tiny Tiny RSS 配置 https 加入下列内容
listen 443 ssl http2;
if ($ssl_protocol = "") { return 301 https://$host$request_uri; }
ssl_certificate /var/www/kukmoon.com/cert/cert.pem;
ssl_certificate_key /var/www/kukmoon.com/cert/privkey.pem;
ssl_protocols TLSv1.1 TLSv1.2 TLSv1.3;
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5;
ssl_prefer_server_ciphers on;
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
add_header Strict-Transport-Security "max-age=31536000";


# Forbidden files or directories
location ~ ^/(\.user.ini|\.htaccess|\.git|\.svn|\.project|LICENSE|README.md)
{
return 404;
}

# 为了给Tiny Tiny RSS配置反向代理而注释掉以下内容
# location ~ .*\.(gif|jpg|jpeg|png|bmp|swf)$
# {
# expires 30d;
# error_log /dev/null;
# access_log off;
# }

# location ~ .*\.(js|css)?$
# {
# expires 12h;
# error_log /dev/null;
# access_log off;
# }

# 给Tiny Tiny RSS配置反向代理
location / {
proxy_pass http://127.0.0.1:181/;
rewrite ^/(.*)$ /$1 break;
proxy_redirect off;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-Ssl on;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Frame-Options SAMEORIGIN;
proxy_set_header Upgrade-Insecure-Requests 1;


client_max_body_size 100m;
client_body_buffer_size 128k;

proxy_buffer_size 4k;
proxy_buffers 4 32k;
proxy_busy_buffers_size 64k;
proxy_temp_file_write_size 64k;
}
}

使配置文件生效:

1
2
3
cd /etc/nginx/sites-enabled
sudo ln -s /etc/nginx/sites-available/ttrss.kukmoon.com.conf ttrss.kukmoon.com
sudo nginx -s reload

TTRSS 的 iOS 客户端

笔者找到了TTRSS 的第三方 iOS 客户端:tiny Reader。它是免费的(有内购),有 macOS 与 iOS 版(其实 macOS 版没必要,用浏览器就好了)。注意,它是通过 TTRSS 本身的 API 来连接的,不是通过 Fever API!

App store 链接:https://apps.apple.com/us/app/tiny-reader-rss/id689519762

手机端登录方法

首先,在 TTRSS 的【偏好设置】→【偏好设置】→【通用】中勾选【启用 API:允许外部客户端通过 API 来访问该账户】。

启用 API

然后,在手机端启动 tiny Reader,它首次启动后会自动进入 Account 设置界面,将 SERVER ADDRESS 设置为 TTRSS 的 URL,LOGIN 设置为你设置的账号名(我在默认账号 admin 之外又建立了一个新的账号),PASSWORD 设置为你为账号设置的密码。这样就可以了。

设置服务器地址、账号、密码

图片版权

题图:自制(其中 Tiny Tiny RSS 的图标版权归开发者所有)

头图:https://www.wallpaperbetter.com/en/hd-wallpaper-tolen

参考文献


求扫码打赏
“我这么可爱,请给我钱 o(*^ω^*)o”

部署 Tiny Tiny RSS 遇见的坑
https://blog.kukmoon.com/e44895733a8e/
作者
Kukmoon谷月
发布于
2022年12月1日
许可协议