diff --git a/404.html b/404.html index 5c107264..78e8652a 100644 --- a/404.html +++ b/404.html @@ -19,7 +19,7 @@
- + \ No newline at end of file diff --git a/assets/index.md.nPGYkaCn.js b/assets/index.md.nPGYkaCn.js new file mode 100644 index 00000000..409f5a3a --- /dev/null +++ b/assets/index.md.nPGYkaCn.js @@ -0,0 +1,65 @@ +import{_ as n,c as l,a2 as r,j as s,a as t,G as i,B as h,o as p}from"./chunks/framework.DPuwY6B9.js";const b=JSON.parse('{"title":"🐋 Awesome TTRSS","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1736198268000}'),o={name:"index.md"},d={id:"opencc-simp-trad-chinese-conversion",tabindex:"-1"};function k(c,e,g,u,y,F){const a=h("Badge");return p(),l("div",null,[e[12]||(e[12]=r('

🐋 Awesome TTRSS

Docker Pulls Docker Stars Docker Automated build FOSSA Status

About

🐋 Awesome TTRSS aims to provide a powerful Dockerized all-in-one solution for Tiny Tiny RSS, an open source RSS feed reader and aggregator written in PHP, with enhanced user experience via simplified deployment and a list of curated plugins.

Special Thanks

Backers

Deployment

A VPS is highly recommended to host your Awesome TTRSS instance, a VPS can be obtained from as little as $5/month at DigitalOcean.

',8)),s("p",null,[e[0]||(e[0]=t("Awesome TTRSS supports multiple architectures ")),i(a,{text:"x86 ✓",vertical:"top",type:"tip"}),i(a,{text:"arm32v7 ✓",vertical:"top",type:"tip"}),i(a,{text:"arm64v8 ✓",vertical:"top",type:"tip"}),e[1]||(e[1]=t(", except the OpenCC API."))]),e[13]||(e[13]=r(`

Deployment via Docker

bash
docker run -it --name ttrss --restart=always \\
+-e SELF_URL_PATH=[ your public URL ]  \\
+-e DB_HOST=[ your DB address ]  \\
+-e DB_PORT=[ your DB port ]  \\
+-e DB_NAME=[ your DB name ]  \\
+-e DB_USER=[ your DB user ]  \\
+-e DB_PASS=[ your DB password ]  \\
+-p [ public port ]:80  \\
+-d wangqiru/ttrss

Deployment via Docker Compose

docker-compose.yml include 4 docker images:

`,4)),s("ol",null,[e[4]||(e[4]=s("li",null,[s("a",{href:"https://hub.docker.com/r/wangqiru/ttrss",target:"_blank",rel:"noreferrer"},"TTRSS")],-1)),e[5]||(e[5]=s("li",null,[s("a",{href:"https://hub.docker.com/_/postgres",target:"_blank",rel:"noreferrer"},"PostgreSQL")],-1)),e[6]||(e[6]=s("li",null,[s("a",{href:"https://hub.docker.com/r/wangqiru/mercury-parser-api",target:"_blank",rel:"noreferrer"},"Mercury Parser API")],-1)),s("li",null,[e[2]||(e[2]=s("a",{href:"https://hub.docker.com/r/wangqiru/opencc-api-server",target:"_blank",rel:"noreferrer"},"OpenCC API",-1)),e[3]||(e[3]=t()),i(a,{text:"arm32v7 ✗",vertical:"top",type:"danger"}),i(a,{text:"arm64v8 ✗",vertical:"top",type:"danger"})]),e[7]||(e[7]=s("li",null,[s("a",{href:"https://docs.rsshub.app/",target:"_blank",rel:"noreferrer"},"RSSHub")],-1))]),e[14]||(e[14]=r(`

Steps

  1. Download docker-compose.yml to any directory.
  2. Read docker-compose.yml and change the settings (please ensure you have changed the password for postgres).
  3. Run docker compose up -d and wait for the deployment to finish.
  4. Access ttrss via port 181, with default credentials admin and password, please change them asap.
  5. wangqiru/mercury-parser-api and wangqiru/opencc-api-server are optional service containers to support additional features, removing them will not affect TTRSS's basic functionalities.

Supported Environment Variables

For more environment variables, please refer to the official tt-rss repo.

Configure HTTPS

TTRSS container itself doesn't handle HTTPS traffic. Examples of configuring a Caddy or an Nginx reverse proxy with free SSL certificate from Let's Encrypt are shown below:

shell
# Caddyfile
+ttrssdev.henry.wang {
+    reverse_proxy 127.0.0.1:181
+    encode zstd gzip
+}
shell
# nginx.conf
+upstream ttrssdev {
+    server 127.0.0.1:181;
+}
+
+server {
+    listen 80;
+    server_name  ttrssdev.henry.wang;
+    return 301 https://ttrssdev.henry.wang$request_uri;
+}
+
+server {
+    listen 443 ssl;
+    gzip on;
+    server_name  ttrssdev.henry.wang;
+
+    ssl_certificate /etc/letsencrypt/live/ttrssdev.henry.wang/fullchain.pem;
+    ssl_certificate_key /etc/letsencrypt/live/ttrssdev.henry.wang/privkey.pem;
+
+    location / {
+        proxy_redirect off;
+        proxy_pass http://ttrssdev;
+
+        proxy_set_header  Host                $http_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;
+
+        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;
+    }
+}

🔴 Please note that the value in you SELF_URL_PATH should be changed as well.

Update

Awesome TTRSS automatically keeps up with TTRSS by mirroring the official releases, this means update can be issued frequently.

Since TTRSS stopped releasing tags, wangqiru/ttrss:latest will sync with TTRSS' main branch periodically.

Manual Update

You can fetch the latest image manually:

bash
docker pull wangqiru/ttrss:latest
+# docker pull wangqiru/mercury-parser-api:latest
+# docker pull wangqiru/opencc-api-server:latest
+docker compose up -d # If you didn't use docker compose, I'm sure you know what to do.

Auto Update

The example Docker Compose includes Watchtower, which automatically pulls all containers included in Awesome TTRSS (and other containers running on your system) and refreshes your running services. By default, it's disabled, make sure it will not affect your other service containers before enabling this.

To exclude images, check the following for disabling auto update for containers:

yml
service.mercury:
+  image: wangqiru/mercury-parser-api:latest
+  container_name: mercury
+  expose:
+    - 3000
+  restart: always
+  # ⬇️ this prevents Watchtower from auto updating mercury-parser-api
+  labels:
+    - com.centurylinklabs.watchtower.enable=false

Database Upgrade or Migration

Postgres major version upgrades (15->16) will require some manual operations. Sometimes breaking changes will be introduced to further optimize Awesome TTRSS.

Steps

WARNING

Do not skip multiple major versions when upgrading Postgres, for example, upgrading from 13.x to 16.x directly is not supported and may cause data loss.

This section demonstrates the steps to upgrade Postgres major version (from 15.x to 16.x) or migrate from other images to postgres:alpine.

  1. Stop all the service containers:

    bash
    docker compose stop
  2. Copy the Postgres data volume ~/postgres/data/ (or the location specified in your Docker Compose file) to somewhere else as a backup, THIS IS IMPORTANT.

  3. Use the following command to dump all your data:

    bash
    docker exec postgres pg_dumpall -c -U YourUsername > export.sql
  4. Delete the Postgres data volume ~/postgres/data/.

  5. Update your Docker Compose file (Note that the DB_NAME must not be changed) with database.postgres section in the the latest docker-compose.yml, and bring it up:

    bash
    docker compose up -d
  6. Use the following command to restore all your data:

    bash
    cat export.sql | docker exec -i postgres psql -U YourUsername
  7. Test if everything works fine, and now you may remove the backup in step 2.

Plugins

Mercury Fulltext Extraction

Fetch fulltext of articles via a self-hosted Mercury Parser API. A separate Mercury Parser API is required, the example Docker Compose has already included such a server.

Steps

  1. Enable mercury-fulltext plugin in preference enable Mercury
  2. Enter Mercury Parser API endpoint enter Mercury Parser API endpoint

Use service.mercury:3000 for Mercury instance deployed via Awesome-TTRSS.

Extraction Button

FreshRSS / Google Reader API

A FreshRSS / Google Reader API Plugin for Tiny-Tiny RSS

Steps

  1. Navigate to the Preferences menu in Tiny Tiny RSS, and check the box under "General" titled "Enable API" enable API
  2. In Preferences, open the Plugin menu and enable "freshapi" enable FreshAPI
  3. When configuring your mobile app, select either "FreshRSS" or "Google Reader API". You'll need to point your client to your TT-RSS installation, depending on your setup. If you're using a subdomain to host TT-RSS then use https://yoursubdomain.yourdomain.com/plugins.local/freshapi/api/greader.php. If you're running on the root domain, use https://yourdomain.com/plugins.local/freshapi/api/greader.php as the server URL.
  4. Use your standard TT-RSS username and password. If you've enabled 2 Factor Authentication (2FA) generate and use an App Password. As with all plugins which handle authentication, using HTTPS is strongly recommended.

Fever API

Provide Fever API simulation.

Steps

  1. Enable API in preference enable API
  2. Enter a password for Fever in preference enter a Fever password
  3. In supported RSS readers, use https://[your url]/plugins/fever as the target server address, with your account and the password set in Step 2.
  4. The plugin communicates with TTRSS using an unsalted MD5 hash, using HTTPS is strongly recommended.
`,42)),s("h3",d,[e[8]||(e[8]=s("a",{href:"https://github.com/HenryQW/ttrss_opencc",target:"_blank",rel:"noreferrer"},"OpenCC Simp-Trad Chinese Conversion",-1)),e[9]||(e[9]=t()),i(a,{text:"arm32v7 ✗",vertical:"top",type:"danger"}),i(a,{text:"arm64v8 ✗",vertical:"top",type:"danger"}),e[10]||(e[10]=t()),e[11]||(e[11]=s("a",{class:"header-anchor",href:"#opencc-simp-trad-chinese-conversion","aria-label":'Permalink to "[OpenCC Simp-Trad Chinese Conversion](https://github.com/HenryQW/ttrss_opencc) "'},"​",-1))]),e[15]||(e[15]=r(`

Conversion between Traditional and Simplified Chinese via OpenCC , a separate OpenCC API Server is required. The example Docker Compose has already included such a server.

Steps

  1. Enable opencc plugin in preference enable opencc
  2. Enter OpenCC API endpoint
    enter OpenCC API endpoint

Use service.opencc:3000 for OpenCC instance deployed via Awesome-TTRSS.

Conversion Button

FeedReader API

Provide FeedReader API support.

System plugin, enabled by adding api_feedreader to the environment variable ENABLE_PLUGINS.

Refer to FeedReader API for more details.

News+ API

Provide a faster two-way synchronization for Android App News+ and iOS App Fiery Feeds with TTRSS.

System plugin, enabled by adding api_newsplus to the environment variable ENABLE_PLUGINS.

Refer to News+ API for more details.

Feediron

Provide the ability to manipulate article DOMs.

Refer to Feediron for more details.

Options per Feed

Provide the ability to configure proxy, user-agent and SSL certificate verification on a per feed basis.

Refer to Options per Feed for more details.

Remove iframe sandbox

WARNING

If you are getting data via fever api, enable it by adding remove_iframe_sandbox to the environment variable ENABLE_PLUGINS.

This plugin cannot be enabled in conjunction with Fever API as global plugins, if you require both plugins:

  1. In ENABLE_PLUGINS replace fever with remove_iframe_sandbox to enable this as a global plugin.
  2. Enable Fever API in the TTRSS preferences panel after login, as a local plugin.

Remove the sandbox attribute on iframes, thus enabling playback of embedded video in feeds.

Refer to Remove iframe sandbox

Wallabag v2

Save articles to Wallabag.

Refer to Wallabag v2

Auth OIDC

This is a system plugin, that allow users to connect through an OpenID Connect provider, like Keycloak, to TTRSS.

Enable it by adding auth_oidc to the environment variable ENABLE_PLUGINS.

Then add the following environments variables with according values :

yaml
AUTH_OIDC_NAME: "IDP provider name displayed"
+AUTH_OIDC_URL: "https://oidc.hostname.com"
+AUTH_OIDC_CLIENT_ID: "test-rss"
+AUTH_OIDC_CLIENT_SECRET: "your-secret-token"

Refer to Auth OIDC for more details.

RSSHub

There is a minimal integration of RSSHub in the example Docker Compose. Once enabled, you can add RSS feeds from RSSHub via internal URL (docker service discovery), for example: http://service.rsshub:3000/bbc.

For more information on configuring RSSHub, please refer to RSSHub Docs.

Themes

Feedly

Feedly

RSSHub

RSSHub

Recommendation

Support and Help

Donation

Please consider donations to support TTRSS directly.

License

MIT

FOSSA Status

`,50))])}const f=n(o,[["render",k]]);export{b as __pageData,f as default}; diff --git a/assets/index.md.nPGYkaCn.lean.js b/assets/index.md.nPGYkaCn.lean.js new file mode 100644 index 00000000..409f5a3a --- /dev/null +++ b/assets/index.md.nPGYkaCn.lean.js @@ -0,0 +1,65 @@ +import{_ as n,c as l,a2 as r,j as s,a as t,G as i,B as h,o as p}from"./chunks/framework.DPuwY6B9.js";const b=JSON.parse('{"title":"🐋 Awesome TTRSS","description":"","frontmatter":{},"headers":[],"relativePath":"index.md","filePath":"index.md","lastUpdated":1736198268000}'),o={name:"index.md"},d={id:"opencc-simp-trad-chinese-conversion",tabindex:"-1"};function k(c,e,g,u,y,F){const a=h("Badge");return p(),l("div",null,[e[12]||(e[12]=r('

🐋 Awesome TTRSS

Docker Pulls Docker Stars Docker Automated build FOSSA Status

About

🐋 Awesome TTRSS aims to provide a powerful Dockerized all-in-one solution for Tiny Tiny RSS, an open source RSS feed reader and aggregator written in PHP, with enhanced user experience via simplified deployment and a list of curated plugins.

Special Thanks

Backers

Deployment

A VPS is highly recommended to host your Awesome TTRSS instance, a VPS can be obtained from as little as $5/month at DigitalOcean.

',8)),s("p",null,[e[0]||(e[0]=t("Awesome TTRSS supports multiple architectures ")),i(a,{text:"x86 ✓",vertical:"top",type:"tip"}),i(a,{text:"arm32v7 ✓",vertical:"top",type:"tip"}),i(a,{text:"arm64v8 ✓",vertical:"top",type:"tip"}),e[1]||(e[1]=t(", except the OpenCC API."))]),e[13]||(e[13]=r(`

Deployment via Docker

bash
docker run -it --name ttrss --restart=always \\
+-e SELF_URL_PATH=[ your public URL ]  \\
+-e DB_HOST=[ your DB address ]  \\
+-e DB_PORT=[ your DB port ]  \\
+-e DB_NAME=[ your DB name ]  \\
+-e DB_USER=[ your DB user ]  \\
+-e DB_PASS=[ your DB password ]  \\
+-p [ public port ]:80  \\
+-d wangqiru/ttrss

Deployment via Docker Compose

docker-compose.yml include 4 docker images:

`,4)),s("ol",null,[e[4]||(e[4]=s("li",null,[s("a",{href:"https://hub.docker.com/r/wangqiru/ttrss",target:"_blank",rel:"noreferrer"},"TTRSS")],-1)),e[5]||(e[5]=s("li",null,[s("a",{href:"https://hub.docker.com/_/postgres",target:"_blank",rel:"noreferrer"},"PostgreSQL")],-1)),e[6]||(e[6]=s("li",null,[s("a",{href:"https://hub.docker.com/r/wangqiru/mercury-parser-api",target:"_blank",rel:"noreferrer"},"Mercury Parser API")],-1)),s("li",null,[e[2]||(e[2]=s("a",{href:"https://hub.docker.com/r/wangqiru/opencc-api-server",target:"_blank",rel:"noreferrer"},"OpenCC API",-1)),e[3]||(e[3]=t()),i(a,{text:"arm32v7 ✗",vertical:"top",type:"danger"}),i(a,{text:"arm64v8 ✗",vertical:"top",type:"danger"})]),e[7]||(e[7]=s("li",null,[s("a",{href:"https://docs.rsshub.app/",target:"_blank",rel:"noreferrer"},"RSSHub")],-1))]),e[14]||(e[14]=r(`

Steps

  1. Download docker-compose.yml to any directory.
  2. Read docker-compose.yml and change the settings (please ensure you have changed the password for postgres).
  3. Run docker compose up -d and wait for the deployment to finish.
  4. Access ttrss via port 181, with default credentials admin and password, please change them asap.
  5. wangqiru/mercury-parser-api and wangqiru/opencc-api-server are optional service containers to support additional features, removing them will not affect TTRSS's basic functionalities.

Supported Environment Variables

For more environment variables, please refer to the official tt-rss repo.

Configure HTTPS

TTRSS container itself doesn't handle HTTPS traffic. Examples of configuring a Caddy or an Nginx reverse proxy with free SSL certificate from Let's Encrypt are shown below:

shell
# Caddyfile
+ttrssdev.henry.wang {
+    reverse_proxy 127.0.0.1:181
+    encode zstd gzip
+}
shell
# nginx.conf
+upstream ttrssdev {
+    server 127.0.0.1:181;
+}
+
+server {
+    listen 80;
+    server_name  ttrssdev.henry.wang;
+    return 301 https://ttrssdev.henry.wang$request_uri;
+}
+
+server {
+    listen 443 ssl;
+    gzip on;
+    server_name  ttrssdev.henry.wang;
+
+    ssl_certificate /etc/letsencrypt/live/ttrssdev.henry.wang/fullchain.pem;
+    ssl_certificate_key /etc/letsencrypt/live/ttrssdev.henry.wang/privkey.pem;
+
+    location / {
+        proxy_redirect off;
+        proxy_pass http://ttrssdev;
+
+        proxy_set_header  Host                $http_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;
+
+        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;
+    }
+}

🔴 Please note that the value in you SELF_URL_PATH should be changed as well.

Update

Awesome TTRSS automatically keeps up with TTRSS by mirroring the official releases, this means update can be issued frequently.

Since TTRSS stopped releasing tags, wangqiru/ttrss:latest will sync with TTRSS' main branch periodically.

Manual Update

You can fetch the latest image manually:

bash
docker pull wangqiru/ttrss:latest
+# docker pull wangqiru/mercury-parser-api:latest
+# docker pull wangqiru/opencc-api-server:latest
+docker compose up -d # If you didn't use docker compose, I'm sure you know what to do.

Auto Update

The example Docker Compose includes Watchtower, which automatically pulls all containers included in Awesome TTRSS (and other containers running on your system) and refreshes your running services. By default, it's disabled, make sure it will not affect your other service containers before enabling this.

To exclude images, check the following for disabling auto update for containers:

yml
service.mercury:
+  image: wangqiru/mercury-parser-api:latest
+  container_name: mercury
+  expose:
+    - 3000
+  restart: always
+  # ⬇️ this prevents Watchtower from auto updating mercury-parser-api
+  labels:
+    - com.centurylinklabs.watchtower.enable=false

Database Upgrade or Migration

Postgres major version upgrades (15->16) will require some manual operations. Sometimes breaking changes will be introduced to further optimize Awesome TTRSS.

Steps

WARNING

Do not skip multiple major versions when upgrading Postgres, for example, upgrading from 13.x to 16.x directly is not supported and may cause data loss.

This section demonstrates the steps to upgrade Postgres major version (from 15.x to 16.x) or migrate from other images to postgres:alpine.

  1. Stop all the service containers:

    bash
    docker compose stop
  2. Copy the Postgres data volume ~/postgres/data/ (or the location specified in your Docker Compose file) to somewhere else as a backup, THIS IS IMPORTANT.

  3. Use the following command to dump all your data:

    bash
    docker exec postgres pg_dumpall -c -U YourUsername > export.sql
  4. Delete the Postgres data volume ~/postgres/data/.

  5. Update your Docker Compose file (Note that the DB_NAME must not be changed) with database.postgres section in the the latest docker-compose.yml, and bring it up:

    bash
    docker compose up -d
  6. Use the following command to restore all your data:

    bash
    cat export.sql | docker exec -i postgres psql -U YourUsername
  7. Test if everything works fine, and now you may remove the backup in step 2.

Plugins

Mercury Fulltext Extraction

Fetch fulltext of articles via a self-hosted Mercury Parser API. A separate Mercury Parser API is required, the example Docker Compose has already included such a server.

Steps

  1. Enable mercury-fulltext plugin in preference enable Mercury
  2. Enter Mercury Parser API endpoint enter Mercury Parser API endpoint

Use service.mercury:3000 for Mercury instance deployed via Awesome-TTRSS.

Extraction Button

FreshRSS / Google Reader API

A FreshRSS / Google Reader API Plugin for Tiny-Tiny RSS

Steps

  1. Navigate to the Preferences menu in Tiny Tiny RSS, and check the box under "General" titled "Enable API" enable API
  2. In Preferences, open the Plugin menu and enable "freshapi" enable FreshAPI
  3. When configuring your mobile app, select either "FreshRSS" or "Google Reader API". You'll need to point your client to your TT-RSS installation, depending on your setup. If you're using a subdomain to host TT-RSS then use https://yoursubdomain.yourdomain.com/plugins.local/freshapi/api/greader.php. If you're running on the root domain, use https://yourdomain.com/plugins.local/freshapi/api/greader.php as the server URL.
  4. Use your standard TT-RSS username and password. If you've enabled 2 Factor Authentication (2FA) generate and use an App Password. As with all plugins which handle authentication, using HTTPS is strongly recommended.

Fever API

Provide Fever API simulation.

Steps

  1. Enable API in preference enable API
  2. Enter a password for Fever in preference enter a Fever password
  3. In supported RSS readers, use https://[your url]/plugins/fever as the target server address, with your account and the password set in Step 2.
  4. The plugin communicates with TTRSS using an unsalted MD5 hash, using HTTPS is strongly recommended.
`,42)),s("h3",d,[e[8]||(e[8]=s("a",{href:"https://github.com/HenryQW/ttrss_opencc",target:"_blank",rel:"noreferrer"},"OpenCC Simp-Trad Chinese Conversion",-1)),e[9]||(e[9]=t()),i(a,{text:"arm32v7 ✗",vertical:"top",type:"danger"}),i(a,{text:"arm64v8 ✗",vertical:"top",type:"danger"}),e[10]||(e[10]=t()),e[11]||(e[11]=s("a",{class:"header-anchor",href:"#opencc-simp-trad-chinese-conversion","aria-label":'Permalink to "[OpenCC Simp-Trad Chinese Conversion](https://github.com/HenryQW/ttrss_opencc) "'},"​",-1))]),e[15]||(e[15]=r(`

Conversion between Traditional and Simplified Chinese via OpenCC , a separate OpenCC API Server is required. The example Docker Compose has already included such a server.

Steps

  1. Enable opencc plugin in preference enable opencc
  2. Enter OpenCC API endpoint
    enter OpenCC API endpoint

Use service.opencc:3000 for OpenCC instance deployed via Awesome-TTRSS.

Conversion Button

FeedReader API

Provide FeedReader API support.

System plugin, enabled by adding api_feedreader to the environment variable ENABLE_PLUGINS.

Refer to FeedReader API for more details.

News+ API

Provide a faster two-way synchronization for Android App News+ and iOS App Fiery Feeds with TTRSS.

System plugin, enabled by adding api_newsplus to the environment variable ENABLE_PLUGINS.

Refer to News+ API for more details.

Feediron

Provide the ability to manipulate article DOMs.

Refer to Feediron for more details.

Options per Feed

Provide the ability to configure proxy, user-agent and SSL certificate verification on a per feed basis.

Refer to Options per Feed for more details.

Remove iframe sandbox

WARNING

If you are getting data via fever api, enable it by adding remove_iframe_sandbox to the environment variable ENABLE_PLUGINS.

This plugin cannot be enabled in conjunction with Fever API as global plugins, if you require both plugins:

  1. In ENABLE_PLUGINS replace fever with remove_iframe_sandbox to enable this as a global plugin.
  2. Enable Fever API in the TTRSS preferences panel after login, as a local plugin.

Remove the sandbox attribute on iframes, thus enabling playback of embedded video in feeds.

Refer to Remove iframe sandbox

Wallabag v2

Save articles to Wallabag.

Refer to Wallabag v2

Auth OIDC

This is a system plugin, that allow users to connect through an OpenID Connect provider, like Keycloak, to TTRSS.

Enable it by adding auth_oidc to the environment variable ENABLE_PLUGINS.

Then add the following environments variables with according values :

yaml
AUTH_OIDC_NAME: "IDP provider name displayed"
+AUTH_OIDC_URL: "https://oidc.hostname.com"
+AUTH_OIDC_CLIENT_ID: "test-rss"
+AUTH_OIDC_CLIENT_SECRET: "your-secret-token"

Refer to Auth OIDC for more details.

RSSHub

There is a minimal integration of RSSHub in the example Docker Compose. Once enabled, you can add RSS feeds from RSSHub via internal URL (docker service discovery), for example: http://service.rsshub:3000/bbc.

For more information on configuring RSSHub, please refer to RSSHub Docs.

Themes

Feedly

Feedly

RSSHub

RSSHub

Recommendation

Support and Help

Donation

Please consider donations to support TTRSS directly.

License

MIT

FOSSA Status

`,50))])}const f=n(o,[["render",k]]);export{b as __pageData,f as default}; diff --git a/assets/zh_index.md.i4O8_jSP.js b/assets/zh_index.md.i4O8_jSP.js new file mode 100644 index 00000000..d5b19834 --- /dev/null +++ b/assets/zh_index.md.i4O8_jSP.js @@ -0,0 +1,65 @@ +import{_ as n,c as l,a2 as r,j as a,a as t,G as i,B as h,o as p}from"./chunks/framework.DPuwY6B9.js";const b=JSON.parse('{"title":"🐋 Awesome TTRSS","description":"","frontmatter":{},"headers":[],"relativePath":"zh/index.md","filePath":"zh/index.md","lastUpdated":1736198268000}'),o={name:"zh/index.md"},k={id:"opencc-繁简转换",tabindex:"-1"};function d(c,s,g,F,y,E){const e=h("Badge");return p(),l("div",null,[s[12]||(s[12]=r('

🐋 Awesome TTRSS

Docker Pulls Docker Stars Docker Automated build FOSSA Status

关于

Tiny Tiny RSS 是一款基于 PHP 的免费开源 RSS 聚合阅读器。🐋 Awesome TTRSS 旨在提供一个 「一站式容器化」 的 Tiny Tiny RSS 解决方案,通过提供简易的部署方式以及一些额外插件,以提升用户体验。

鸣谢

赞助者

部署

推荐使用一台 VPS 来部署您的 Awesome TTRSS 实例,DigitalOcean 提供高性价比的 VPS 仅需 $5/月。

',8)),a("p",null,[s[0]||(s[0]=t("Awesome TTRSS 支持多架构 ")),i(e,{text:"x86 ✓",vertical:"top",type:"tip"}),i(e,{text:"arm32v7 ✓",vertical:"top",type:"tip"}),i(e,{text:"arm64v8 ✓",vertical:"top",type:"tip"}),s[1]||(s[1]=t("(暂不包括 OpenCC API)。"))]),s[13]||(s[13]=r(`

通过 Docker 部署

bash
docker run -it --name ttrss --restart=always \\
+-e SELF_URL_PATH=[ TTRSS 实例地址 ]  \\
+-e DB_HOST=[ 数据库地址 ]  \\
+-e DB_PORT=[ 数据库端口 ]  \\
+-e DB_NAME=[ 数据库名称 ]  \\
+-e DB_USER=[ 数据库用户名 ]  \\
+-e DB_PASS=[ 数据库密码 ]  \\
+-p [ 容器对外映射端口 ]:80  \\
+-d wangqiru/ttrss

通过 Docker Compose 部署

docker-compose.yml 包含了 4 个镜像:

`,4)),a("ol",null,[s[4]||(s[4]=a("li",null,[a("a",{href:"https://hub.docker.com/r/wangqiru/ttrss",target:"_blank",rel:"noreferrer"},"TTRSS")],-1)),s[5]||(s[5]=a("li",null,[a("a",{href:"https://hub.docker.com/_/postgres",target:"_blank",rel:"noreferrer"},"PostgreSQL")],-1)),s[6]||(s[6]=a("li",null,[a("a",{href:"https://hub.docker.com/r/wangqiru/mercury-parser-api",target:"_blank",rel:"noreferrer"},"Mercury Parser API")],-1)),a("li",null,[s[2]||(s[2]=a("a",{href:"https://hub.docker.com/r/wangqiru/opencc-api-server",target:"_blank",rel:"noreferrer"},"OpenCC API",-1)),s[3]||(s[3]=t()),i(e,{text:"arm32v7 ✗",vertical:"top",type:"danger"}),i(e,{text:"arm64v8 ✗",vertical:"top",type:"danger"})]),s[7]||(s[7]=a("li",null,[a("a",{href:"https://docs.rsshub.app/",target:"_blank",rel:"noreferrer"},"RSSHub")],-1))]),s[14]||(s[14]=r(`

步骤

  1. 下载 docker-compose.yml 至任意目录。
  2. 更改 docker-compose.yml 中的设置,请务必更改 postgres 用户密码。
  3. 通过终端在同目录下运行 docker compose up -d 后等待部署完成。
  4. 默认通过 181 端口访问 TTRSS,默认账户:admin 密码:password,请第一时间更改。
  5. wangqiru/mercury-parser-apiwangqiru/opencc-api-server 为支持高级功能而加入的可选服务类容器,删除不会影响 TTRSS 基础功能。

支持的环境变量列表

  • SELF_URL_PATH: TTRSS 实例地址。🔴 请注意,该变量值必须与你在浏览器中用于访问 TTRSS 的 URL 保持完全一致,否则 TTRSS 将无法启动。
  • DB_HOST: 数据库地址
  • DB_PORT: 数据库端口
  • DB_NAME: 数据库名字
  • DB_USER: 数据库用户名
  • DB_PASS: 数据库密码
  • DB_USER_FILE: Docker Secrets 支持(替代 DB_USE),包含数据库用户名的文件
  • DB_PASS_FILE: Docker Secrets 支持(替代 DB_PASS),包含数据库密码的文件
  • ENABLE_PLUGINS: 全局启用的插件名称,其中 auth_internal 为必须启用的登录插件
  • ALLOW_PORTS: 逗号分隔端口号,如1200,3000。允许订阅非 80,443 端口的源。🔴 谨慎使用。
  • SESSION_COOKIE_LIFETIME: 使用网页版登陆时 cookie 过期时间,单位为小时,默认为 24 小时
  • HTTP_PROXY: ip:port, TTRSS 实例的全局代理,为源地址添加单独代理请使用 Options per Feed
  • DISABLE_USER_IN_DAYS: 当用户 X 天后没有登录后,停止为其自动更新订阅源,直至用户再次登陆
  • FEED_LOG_QUIET: true 禁用订阅源更新所产生的日志打印

更多环境变量,参见 官方 tt-rss

配置 HTTPS

TTRSS 容器自身不负责使用 HTTPS 加密通信。参见下方的样例自行配置 Caddy 或 Nginx 反向代理。使用 Let's Encrypt 可以获取免费 SSL 证书。

shell
# Caddyfile
+ttrssdev.henry.wang {
+    reverse_proxy 127.0.0.1:181
+    encode zstd gzip
+}
shell
# nginx.conf
+upstream ttrssdev {
+    server 127.0.0.1:181;
+}
+
+server {
+    listen 80;
+    server_name  ttrssdev.henry.wang;
+    return 301 https://ttrssdev.henry.wang$request_uri;
+}
+
+server {
+    listen 443 ssl;
+    gzip on;
+    server_name  ttrssdev.henry.wang;
+
+    ssl_certificate /etc/letsencrypt/live/ttrssdev.henry.wang/fullchain.pem;
+    ssl_certificate_key /etc/letsencrypt/live/ttrssdev.henry.wang/privkey.pem;
+
+    location / {
+        proxy_redirect off;
+        proxy_pass http://ttrssdev;
+
+        proxy_set_header  Host                $http_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;
+
+        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;
+    }
+}

🔴 请注意, 你需要更新 SELF_URL_PATH 环境变量。

更新

Awesome TTRSS 会自动监控 TTRSS 官方更新并与之同步,这意味着更新会比较频繁。

TTRSS 官方不再释出 tagwangqiru/ttrss:latest 会与 官方 main branch 同步。

手动更新

通过以下命令进行手动更新:

bash
    docker pull wangqiru/ttrss:latest
+    # docker pull wangqiru/mercury-parser-api:latest
+    # docker pull wangqiru/opencc-api-server:latest
+    docker compose up -d # 如果您没有使用 docker compose,我确信您知道该怎么做。

自动更新

[样例 Docker Compose](#通过-docker-compose-部署) 中包含了 Watchtower,它会自动拉取并更新您所有的服务容器 (包括当前系统上运行的非 Awesome TTRSS 服务的容器)。该服务默认关闭,启用前请确认它将不会影响您其他的服务容器。

您也可以设置 watchtower 忽略您的其他容器:

yml
service.mercury:
+  image: wangqiru/mercury-parser-api:latest
+  container_name: mercury
+  expose:
+    - 3000
+  restart: always
+  # ⬇️ 这将使 Watchtower 跳过对 mercury-parser-api 的更新检测
+  labels:
+    - com.centurylinklabs.watchtower.enable=false

数据库更新或迁移

Postgres 大版本更新 (15->16) 需要额外的步骤来确保服务正常运行。 为了更好地优化 Awesome TTRSS,有时候可能会推出一些破坏性更新。

步骤

WARNING

在升级时,请勿跳过多个大版本,例如直接从 13.x 升级到 16.x 是不支援的,并可能导致数据丢失。

这些步骤演示了如何进行 Postgres 大版本更新(从 15.x 至 16.x),或者从其他镜像迁移至 postgres:alpine。

  1. 停止所有服务容器:

    bash
    docker compose stop
  2. 复制 Postgres 数据卷 ~/postgres/data/(或者你在 Docker Compose 中指定的目录)至其他任何地方作为备份,这非常重要!

  3. 执行如下命令来导出所有数据:

    bash
    docker exec postgres pg_dumpall -c -U 数据库用户名 > export.sql
  4. 删除 Postgres 数据卷 ~/postgres/data/

  5. 根据最新 docker-compose.yml 中的database.postgres 部份来更新你的 Docker Compose 文件(注意 DB_NAME 不可更改),并启动:

    bash
    docker compose up -d
  6. 执行如下命令来导入所有数据:

    bash
    cat export.sql | docker exec -i postgres psql -U 数据库用户名
  7. 测试所有服务是否正常工作,现在你可以移除步骤二中的备份了。

插件

Mercury 全文获取

全文内容提取插件,配合单独的 Mercury Parser API 服务器使用。[样例 Docker Compose](#通过-docker-compose-部署) 中已经包含了 HenryQW/mercury-parser-api 服务器。

设置步骤

  1. 在设置中启用 mercury-fulltext 插件 启用 Mercury
  2. 在设置中填入 Mercury Parser API 地址 填入 Mercury Parser API 地址

使用 Awesome-TTRSS 部署的 mercury 可填写service.mercury:3000

全文提取按钮

FreshRSS / Google Reader API

FreshRSS / Google Reader API 插件,用于 Tiny-Tiny RSS

Steps

  1. 导航到 Tiny Tiny RSS 中的“首选项”菜单,然后选中 “General” “Enable API”下的框 enable API
  2. 偏好,打开插件菜单并启用 “freshapi” enable FreshAPI
  3. 配置移动应用程序时,请选择 “FreshRSS”或 “Google Reader API”。根据您的设置,您需要将客户指向 TT-RSS 安装。如果您使用子域来主持 TT-RSS,请使用 https://yoursubdomain.yourdomain.com/plugins.local/freshapi/api/greader.php . 如果您在根域上运行,请使用 https://yourdomain.com/plugins.local/freshapi/api/greader.php
  4. 使用您的标准 TT-RSS 用户名和密码。如果您启用了 2 个因子身份验证(2FA)生成并使用应用程序密码。与所有处理身份验证的插件一样,强烈建议使用 开启 HTTPS

Fever API

提供 Fever API 支持。

设置步骤

  1. 在设置中启用 API。 启用 API
  2. 在插件设置中设置 Fever 密码。 设置 Fever 密码
  3. 在支持 Fever 的阅读器用,使用 https://[您的地址]/plugins/fever 作为服务器地址。使用您的账号和步骤 2 中的密码登录。
  4. 由于该插件使用未加盐的 MD5 加密密码进行通信,强烈建议 开启 HTTPS
`,42)),a("h3",k,[s[8]||(s[8]=a("a",{href:"https://github.com/HenryQW/ttrss_opencc",target:"_blank",rel:"noreferrer"},"OpenCC 繁简转换",-1)),s[9]||(s[9]=t()),i(e,{text:"arm32v7 ✗",vertical:"top",type:"danger"}),i(e,{text:"arm64v8 ✗",vertical:"top",type:"danger"}),s[10]||(s[10]=t()),s[11]||(s[11]=a("a",{class:"header-anchor",href:"#opencc-繁简转换","aria-label":'Permalink to "[OpenCC 繁简转换](https://github.com/HenryQW/ttrss_opencc) "'},"​",-1))]),s[15]||(s[15]=r(`

使用 OpenCC 为 TTRSS 提供中文繁转简的插件,需要配合单独的 OpenCC API 服务器使用。[样例 Docker Compose](#通过-docker-compose-部署) 中已经包含了 HenryQW/OpenCC.henry.wang 服务器。

设置步骤

  1. 在设置中启用 opencc 插件 启用 opencc
  2. 在设置中填入 OpenCC API 地址
    填入 OpenCC API 地址

使用 Awesome-TTRSS 部署的 OpenCC 可填写service.opencc:3000

转换按钮

FeedReader API

提供 FeedReader API 支持。

系统插件,将 api_feedreader 添加到 ENABLE_PLUGINS 环境变量中以启用。

使用指南见 FeedReader API

News+ API

为 Android App News+ 和 iOS App Fiery Feeds 提供更快的同步速度。

系统插件,将 api_newsplus 添加到 ENABLE_PLUGINS 环境变量中以启用。

使用指南见 News+ API

Feediron

提供文章 DOM 操控能力的插件。

使用指南见 Feediron

Options per Feed

提供单独为源地址配置代理、user-agent 以及 SSL 证书验证的能力。

使用指南见 Options per Feed

Remove iframe sandbox

注意

该插件与 Fever API 不能同时作为全局插件启用。如果您同时需要两者:

  1. 在环境变量 ENABLE_PLUGINS 中移除 fever 并添加 remove_iframe_sandbox 作为全局插件启用。
  2. 在登陆 TTRSS 后,通过设置将 Fever API 作为本地插件启用。

移除 iframe 上的 sandbox 属性,以支持 feed 中直接播放嵌入视频。

使用指南见 Remove iframe sandbox

Wallabag v2

保存文章至 Wallabag。

使用指南见 Wallabag v2

Auth OIDC

这是一个系统插件,允许用户通过 OpenID Connect 提供程序(如 Keycloak)连接到 TTRSS。

通过将 auth_oidc 添加到环境变量 ENABLE_PLUGINS 来启用。

然后添加以下环境变量及相应的值:

yaml
AUTH_OIDC_NAME: "显示的 IDP 提供程序名称"
+AUTH_OIDC_URL: "https://oidc.hostname.com"
+AUTH_OIDC_CLIENT_ID: "test-rss"
+AUTH_OIDC_CLIENT_SECRET: "your-secret-token"

有关更多详细信息,请参阅 Auth OIDC

RSSHub

在示例的 Docker Compose 中集成了一个最小化的 RSSHub URL(Docker 服务发现)添加来自 RSSHub 的 RSS 源,例如:http://service.rsshub:3000/bbc

有关配置 RSSHub 的更多信息,请参考 RSSHub 文档

主题

Feedly

Feedly

RSSHub

RSSHub

使用建议

支持与帮助

捐赠

请考虑直接捐助支持 TTRSS.

许可

MIT

FOSSA Status

`,50))])}const m=n(o,[["render",d]]);export{b as __pageData,m as default}; diff --git a/assets/zh_index.md.i4O8_jSP.lean.js b/assets/zh_index.md.i4O8_jSP.lean.js new file mode 100644 index 00000000..d5b19834 --- /dev/null +++ b/assets/zh_index.md.i4O8_jSP.lean.js @@ -0,0 +1,65 @@ +import{_ as n,c as l,a2 as r,j as a,a as t,G as i,B as h,o as p}from"./chunks/framework.DPuwY6B9.js";const b=JSON.parse('{"title":"🐋 Awesome TTRSS","description":"","frontmatter":{},"headers":[],"relativePath":"zh/index.md","filePath":"zh/index.md","lastUpdated":1736198268000}'),o={name:"zh/index.md"},k={id:"opencc-繁简转换",tabindex:"-1"};function d(c,s,g,F,y,E){const e=h("Badge");return p(),l("div",null,[s[12]||(s[12]=r('

🐋 Awesome TTRSS

Docker Pulls Docker Stars Docker Automated build FOSSA Status

关于

Tiny Tiny RSS 是一款基于 PHP 的免费开源 RSS 聚合阅读器。🐋 Awesome TTRSS 旨在提供一个 「一站式容器化」 的 Tiny Tiny RSS 解决方案,通过提供简易的部署方式以及一些额外插件,以提升用户体验。

鸣谢

赞助者

部署

推荐使用一台 VPS 来部署您的 Awesome TTRSS 实例,DigitalOcean 提供高性价比的 VPS 仅需 $5/月。

',8)),a("p",null,[s[0]||(s[0]=t("Awesome TTRSS 支持多架构 ")),i(e,{text:"x86 ✓",vertical:"top",type:"tip"}),i(e,{text:"arm32v7 ✓",vertical:"top",type:"tip"}),i(e,{text:"arm64v8 ✓",vertical:"top",type:"tip"}),s[1]||(s[1]=t("(暂不包括 OpenCC API)。"))]),s[13]||(s[13]=r(`

通过 Docker 部署

bash
docker run -it --name ttrss --restart=always \\
+-e SELF_URL_PATH=[ TTRSS 实例地址 ]  \\
+-e DB_HOST=[ 数据库地址 ]  \\
+-e DB_PORT=[ 数据库端口 ]  \\
+-e DB_NAME=[ 数据库名称 ]  \\
+-e DB_USER=[ 数据库用户名 ]  \\
+-e DB_PASS=[ 数据库密码 ]  \\
+-p [ 容器对外映射端口 ]:80  \\
+-d wangqiru/ttrss

通过 Docker Compose 部署

docker-compose.yml 包含了 4 个镜像:

`,4)),a("ol",null,[s[4]||(s[4]=a("li",null,[a("a",{href:"https://hub.docker.com/r/wangqiru/ttrss",target:"_blank",rel:"noreferrer"},"TTRSS")],-1)),s[5]||(s[5]=a("li",null,[a("a",{href:"https://hub.docker.com/_/postgres",target:"_blank",rel:"noreferrer"},"PostgreSQL")],-1)),s[6]||(s[6]=a("li",null,[a("a",{href:"https://hub.docker.com/r/wangqiru/mercury-parser-api",target:"_blank",rel:"noreferrer"},"Mercury Parser API")],-1)),a("li",null,[s[2]||(s[2]=a("a",{href:"https://hub.docker.com/r/wangqiru/opencc-api-server",target:"_blank",rel:"noreferrer"},"OpenCC API",-1)),s[3]||(s[3]=t()),i(e,{text:"arm32v7 ✗",vertical:"top",type:"danger"}),i(e,{text:"arm64v8 ✗",vertical:"top",type:"danger"})]),s[7]||(s[7]=a("li",null,[a("a",{href:"https://docs.rsshub.app/",target:"_blank",rel:"noreferrer"},"RSSHub")],-1))]),s[14]||(s[14]=r(`

步骤

  1. 下载 docker-compose.yml 至任意目录。
  2. 更改 docker-compose.yml 中的设置,请务必更改 postgres 用户密码。
  3. 通过终端在同目录下运行 docker compose up -d 后等待部署完成。
  4. 默认通过 181 端口访问 TTRSS,默认账户:admin 密码:password,请第一时间更改。
  5. wangqiru/mercury-parser-apiwangqiru/opencc-api-server 为支持高级功能而加入的可选服务类容器,删除不会影响 TTRSS 基础功能。

支持的环境变量列表

  • SELF_URL_PATH: TTRSS 实例地址。🔴 请注意,该变量值必须与你在浏览器中用于访问 TTRSS 的 URL 保持完全一致,否则 TTRSS 将无法启动。
  • DB_HOST: 数据库地址
  • DB_PORT: 数据库端口
  • DB_NAME: 数据库名字
  • DB_USER: 数据库用户名
  • DB_PASS: 数据库密码
  • DB_USER_FILE: Docker Secrets 支持(替代 DB_USE),包含数据库用户名的文件
  • DB_PASS_FILE: Docker Secrets 支持(替代 DB_PASS),包含数据库密码的文件
  • ENABLE_PLUGINS: 全局启用的插件名称,其中 auth_internal 为必须启用的登录插件
  • ALLOW_PORTS: 逗号分隔端口号,如1200,3000。允许订阅非 80,443 端口的源。🔴 谨慎使用。
  • SESSION_COOKIE_LIFETIME: 使用网页版登陆时 cookie 过期时间,单位为小时,默认为 24 小时
  • HTTP_PROXY: ip:port, TTRSS 实例的全局代理,为源地址添加单独代理请使用 Options per Feed
  • DISABLE_USER_IN_DAYS: 当用户 X 天后没有登录后,停止为其自动更新订阅源,直至用户再次登陆
  • FEED_LOG_QUIET: true 禁用订阅源更新所产生的日志打印

更多环境变量,参见 官方 tt-rss

配置 HTTPS

TTRSS 容器自身不负责使用 HTTPS 加密通信。参见下方的样例自行配置 Caddy 或 Nginx 反向代理。使用 Let's Encrypt 可以获取免费 SSL 证书。

shell
# Caddyfile
+ttrssdev.henry.wang {
+    reverse_proxy 127.0.0.1:181
+    encode zstd gzip
+}
shell
# nginx.conf
+upstream ttrssdev {
+    server 127.0.0.1:181;
+}
+
+server {
+    listen 80;
+    server_name  ttrssdev.henry.wang;
+    return 301 https://ttrssdev.henry.wang$request_uri;
+}
+
+server {
+    listen 443 ssl;
+    gzip on;
+    server_name  ttrssdev.henry.wang;
+
+    ssl_certificate /etc/letsencrypt/live/ttrssdev.henry.wang/fullchain.pem;
+    ssl_certificate_key /etc/letsencrypt/live/ttrssdev.henry.wang/privkey.pem;
+
+    location / {
+        proxy_redirect off;
+        proxy_pass http://ttrssdev;
+
+        proxy_set_header  Host                $http_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;
+
+        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;
+    }
+}

🔴 请注意, 你需要更新 SELF_URL_PATH 环境变量。

更新

Awesome TTRSS 会自动监控 TTRSS 官方更新并与之同步,这意味着更新会比较频繁。

TTRSS 官方不再释出 tagwangqiru/ttrss:latest 会与 官方 main branch 同步。

手动更新

通过以下命令进行手动更新:

bash
    docker pull wangqiru/ttrss:latest
+    # docker pull wangqiru/mercury-parser-api:latest
+    # docker pull wangqiru/opencc-api-server:latest
+    docker compose up -d # 如果您没有使用 docker compose,我确信您知道该怎么做。

自动更新

[样例 Docker Compose](#通过-docker-compose-部署) 中包含了 Watchtower,它会自动拉取并更新您所有的服务容器 (包括当前系统上运行的非 Awesome TTRSS 服务的容器)。该服务默认关闭,启用前请确认它将不会影响您其他的服务容器。

您也可以设置 watchtower 忽略您的其他容器:

yml
service.mercury:
+  image: wangqiru/mercury-parser-api:latest
+  container_name: mercury
+  expose:
+    - 3000
+  restart: always
+  # ⬇️ 这将使 Watchtower 跳过对 mercury-parser-api 的更新检测
+  labels:
+    - com.centurylinklabs.watchtower.enable=false

数据库更新或迁移

Postgres 大版本更新 (15->16) 需要额外的步骤来确保服务正常运行。 为了更好地优化 Awesome TTRSS,有时候可能会推出一些破坏性更新。

步骤

WARNING

在升级时,请勿跳过多个大版本,例如直接从 13.x 升级到 16.x 是不支援的,并可能导致数据丢失。

这些步骤演示了如何进行 Postgres 大版本更新(从 15.x 至 16.x),或者从其他镜像迁移至 postgres:alpine。

  1. 停止所有服务容器:

    bash
    docker compose stop
  2. 复制 Postgres 数据卷 ~/postgres/data/(或者你在 Docker Compose 中指定的目录)至其他任何地方作为备份,这非常重要!

  3. 执行如下命令来导出所有数据:

    bash
    docker exec postgres pg_dumpall -c -U 数据库用户名 > export.sql
  4. 删除 Postgres 数据卷 ~/postgres/data/

  5. 根据最新 docker-compose.yml 中的database.postgres 部份来更新你的 Docker Compose 文件(注意 DB_NAME 不可更改),并启动:

    bash
    docker compose up -d
  6. 执行如下命令来导入所有数据:

    bash
    cat export.sql | docker exec -i postgres psql -U 数据库用户名
  7. 测试所有服务是否正常工作,现在你可以移除步骤二中的备份了。

插件

Mercury 全文获取

全文内容提取插件,配合单独的 Mercury Parser API 服务器使用。[样例 Docker Compose](#通过-docker-compose-部署) 中已经包含了 HenryQW/mercury-parser-api 服务器。

设置步骤

  1. 在设置中启用 mercury-fulltext 插件 启用 Mercury
  2. 在设置中填入 Mercury Parser API 地址 填入 Mercury Parser API 地址

使用 Awesome-TTRSS 部署的 mercury 可填写service.mercury:3000

全文提取按钮

FreshRSS / Google Reader API

FreshRSS / Google Reader API 插件,用于 Tiny-Tiny RSS

Steps

  1. 导航到 Tiny Tiny RSS 中的“首选项”菜单,然后选中 “General” “Enable API”下的框 enable API
  2. 偏好,打开插件菜单并启用 “freshapi” enable FreshAPI
  3. 配置移动应用程序时,请选择 “FreshRSS”或 “Google Reader API”。根据您的设置,您需要将客户指向 TT-RSS 安装。如果您使用子域来主持 TT-RSS,请使用 https://yoursubdomain.yourdomain.com/plugins.local/freshapi/api/greader.php . 如果您在根域上运行,请使用 https://yourdomain.com/plugins.local/freshapi/api/greader.php
  4. 使用您的标准 TT-RSS 用户名和密码。如果您启用了 2 个因子身份验证(2FA)生成并使用应用程序密码。与所有处理身份验证的插件一样,强烈建议使用 开启 HTTPS

Fever API

提供 Fever API 支持。

设置步骤

  1. 在设置中启用 API。 启用 API
  2. 在插件设置中设置 Fever 密码。 设置 Fever 密码
  3. 在支持 Fever 的阅读器用,使用 https://[您的地址]/plugins/fever 作为服务器地址。使用您的账号和步骤 2 中的密码登录。
  4. 由于该插件使用未加盐的 MD5 加密密码进行通信,强烈建议 开启 HTTPS
`,42)),a("h3",k,[s[8]||(s[8]=a("a",{href:"https://github.com/HenryQW/ttrss_opencc",target:"_blank",rel:"noreferrer"},"OpenCC 繁简转换",-1)),s[9]||(s[9]=t()),i(e,{text:"arm32v7 ✗",vertical:"top",type:"danger"}),i(e,{text:"arm64v8 ✗",vertical:"top",type:"danger"}),s[10]||(s[10]=t()),s[11]||(s[11]=a("a",{class:"header-anchor",href:"#opencc-繁简转换","aria-label":'Permalink to "[OpenCC 繁简转换](https://github.com/HenryQW/ttrss_opencc) "'},"​",-1))]),s[15]||(s[15]=r(`

使用 OpenCC 为 TTRSS 提供中文繁转简的插件,需要配合单独的 OpenCC API 服务器使用。[样例 Docker Compose](#通过-docker-compose-部署) 中已经包含了 HenryQW/OpenCC.henry.wang 服务器。

设置步骤

  1. 在设置中启用 opencc 插件 启用 opencc
  2. 在设置中填入 OpenCC API 地址
    填入 OpenCC API 地址

使用 Awesome-TTRSS 部署的 OpenCC 可填写service.opencc:3000

转换按钮

FeedReader API

提供 FeedReader API 支持。

系统插件,将 api_feedreader 添加到 ENABLE_PLUGINS 环境变量中以启用。

使用指南见 FeedReader API

News+ API

为 Android App News+ 和 iOS App Fiery Feeds 提供更快的同步速度。

系统插件,将 api_newsplus 添加到 ENABLE_PLUGINS 环境变量中以启用。

使用指南见 News+ API

Feediron

提供文章 DOM 操控能力的插件。

使用指南见 Feediron

Options per Feed

提供单独为源地址配置代理、user-agent 以及 SSL 证书验证的能力。

使用指南见 Options per Feed

Remove iframe sandbox

注意

该插件与 Fever API 不能同时作为全局插件启用。如果您同时需要两者:

  1. 在环境变量 ENABLE_PLUGINS 中移除 fever 并添加 remove_iframe_sandbox 作为全局插件启用。
  2. 在登陆 TTRSS 后,通过设置将 Fever API 作为本地插件启用。

移除 iframe 上的 sandbox 属性,以支持 feed 中直接播放嵌入视频。

使用指南见 Remove iframe sandbox

Wallabag v2

保存文章至 Wallabag。

使用指南见 Wallabag v2

Auth OIDC

这是一个系统插件,允许用户通过 OpenID Connect 提供程序(如 Keycloak)连接到 TTRSS。

通过将 auth_oidc 添加到环境变量 ENABLE_PLUGINS 来启用。

然后添加以下环境变量及相应的值:

yaml
AUTH_OIDC_NAME: "显示的 IDP 提供程序名称"
+AUTH_OIDC_URL: "https://oidc.hostname.com"
+AUTH_OIDC_CLIENT_ID: "test-rss"
+AUTH_OIDC_CLIENT_SECRET: "your-secret-token"

有关更多详细信息,请参阅 Auth OIDC

RSSHub

在示例的 Docker Compose 中集成了一个最小化的 RSSHub URL(Docker 服务发现)添加来自 RSSHub 的 RSS 源,例如:http://service.rsshub:3000/bbc

有关配置 RSSHub 的更多信息,请参考 RSSHub 文档

主题

Feedly

Feedly

RSSHub

RSSHub

使用建议

支持与帮助

捐赠

请考虑直接捐助支持 TTRSS.

许可

MIT

FOSSA Status

`,50))])}const m=n(o,[["render",d]]);export{b as __pageData,m as default}; diff --git a/hashmap.json b/hashmap.json index 408c3cac..59d5a6ab 100644 --- a/hashmap.json +++ b/hashmap.json @@ -1 +1 @@ -{"index.md":"ZaimwDHU","zh_index.md":"C9uACutL"} +{"index.md":"nPGYkaCn","zh_index.md":"i4O8_jSP"} diff --git a/index.html b/index.html index 149c4fe9..90ac14a4 100644 --- a/index.html +++ b/index.html @@ -13,7 +13,7 @@ - + @@ -85,8 +85,8 @@ - com.centurylinklabs.watchtower.enable=false

Database Upgrade or Migration

Postgres major version upgrades (15->16) will require some manual operations. Sometimes breaking changes will be introduced to further optimize Awesome TTRSS.

Steps

WARNING

Do not skip multiple major versions when upgrading Postgres, for example, upgrading from 13.x to 16.x directly is not supported and may cause data loss.

This section demonstrates the steps to upgrade Postgres major version (from 15.x to 16.x) or migrate from other images to postgres:alpine.

  1. Stop all the service containers:

    bash
    docker compose stop
  2. Copy the Postgres data volume ~/postgres/data/ (or the location specified in your Docker Compose file) to somewhere else as a backup, THIS IS IMPORTANT.

  3. Use the following command to dump all your data:

    bash
    docker exec postgres pg_dumpall -c -U YourUsername > export.sql
  4. Delete the Postgres data volume ~/postgres/data/.

  5. Update your Docker Compose file (Note that the DB_NAME must not be changed) with database.postgres section in the the latest docker-compose.yml, and bring it up:

    bash
    docker compose up -d
  6. Use the following command to restore all your data:

    bash
    cat export.sql | docker exec -i postgres psql -U YourUsername
  7. Test if everything works fine, and now you may remove the backup in step 2.

Plugins

Mercury Fulltext Extraction

Fetch fulltext of articles via a self-hosted Mercury Parser API. A separate Mercury Parser API is required, the example Docker Compose has already included such a server.

Steps

  1. Enable mercury-fulltext plugin in preference enable Mercury
  2. Enter Mercury Parser API endpoint enter Mercury Parser API endpoint

Use service.mercury:3000 for Mercury instance deployed via Awesome-TTRSS.

Extraction Button

FreshRSS / Google Reader API

A FreshRSS / Google Reader API Plugin for Tiny-Tiny RSS

Steps

  1. Navigate to the Preferences menu in Tiny Tiny RSS, and check the box under "General" titled "Enable API" enable API
  2. In Preferences, open the Plugin menu and enable "freshapi" enable FreshAPI
  3. When configuring your mobile app, select either "FreshRSS" or "Google Reader API". You'll need to point your client to your TT-RSS installation, depending on your setup. If you're using a subdomain to host TT-RSS then use https://yoursubdomain.yourdomain.com/plugins.local/freshapi/api/greader.php. If you're running on the root domain, use https://yourdomain.com/plugins.local/freshapi/api/greader.php as the server URL.
  4. Use your standard TT-RSS username and password. If you've enabled 2 Factor Authentication (2FA) generate and use an App Password. As with all plugins which handle authentication, using HTTPS is strongly recommended.

Fever API

Provide Fever API simulation.

Steps

  1. Enable API in preference enable API
  2. Enter a password for Fever in preference enter a Fever password
  3. In supported RSS readers, use https://[your url]/plugins/fever as the target server address, with your account and the password set in Step 2.
  4. The plugin communicates with TTRSS using an unsalted MD5 hash, using HTTPS is strongly recommended.

OpenCC Simp-Trad Chinese Conversion arm32v7 ✗arm64v8 ✗

Conversion between Traditional and Simplified Chinese via OpenCC , a separate OpenCC API Server is required. The example Docker Compose has already included such a server.

Steps

  1. Enable opencc plugin in preference enable opencc
  2. Enter OpenCC API endpoint
    enter OpenCC API endpoint

Use service.opencc:3000 for OpenCC instance deployed via Awesome-TTRSS.

Conversion Button

FeedReader API

Provide FeedReader API support.

System plugin, enabled by adding api_feedreader to the environment variable ENABLE_PLUGINS.

Refer to FeedReader API for more details.

News+ API

Provide a faster two-way synchronization for Android App News+ and iOS App Fiery Feeds with TTRSS.

System plugin, enabled by adding api_newsplus to the environment variable ENABLE_PLUGINS.

Refer to News+ API for more details.

Feediron

Provide the ability to manipulate article DOMs.

Refer to Feediron for more details.

Options per Feed

Provide the ability to configure proxy, user-agent and SSL certificate verification on a per feed basis.

Refer to Options per Feed for more details.

Remove iframe sandbox

WARNING

If you are getting data via fever api, enable it by adding remove_iframe_sandbox to the environment variable ENABLE_PLUGINS.

This plugin cannot be enabled in conjunction with Fever API as global plugins, if you require both plugins:

  1. In ENABLE_PLUGINS replace fever with remove_iframe_sandbox to enable this as a global plugin.
  2. Enable Fever API in the TTRSS preferences panel after login, as a local plugin.

Remove the sandbox attribute on iframes, thus enabling playback of embedded video in feeds.

Refer to Remove iframe sandbox

Wallabag v2

Save articles to Wallabag.

Refer to Wallabag v2

Auth OIDC

This is a system plugin, that allow users to connect through an OpenID Connect provider, like Keycloak, to TTRSS.

Enable it by adding auth_oidc to the environment variable ENABLE_PLUGINS.

Then add the following environments variables with according values :

yaml
AUTH_OIDC_NAME: "IDP provider name displayed"
 AUTH_OIDC_URL: "https://oidc.hostname.com"
 AUTH_OIDC_CLIENT_ID: "test-rss"
-AUTH_OIDC_CLIENT_SECRET: "your-secret-token"

Refer to Auth OIDC for more details.

RSSHub

There is a minimal integration of RSSHub in the example Docker Compose. Once enabled, you can add RSS feeds from RSSHub via internal URL (docker service discovery), for example: http://service.rsshub:3000/bbc.

For more information on configuring RSSHub, please refer to RSSHub Docs.

Themes

Feedly

Feedly

RSSHub

RSSHub

Recommendation

Support and Help

Donation

Please consider donations to support TTRSS directly.

License

MIT

FOSSA Status

- +AUTH_OIDC_CLIENT_SECRET: "your-secret-token"

Refer to Auth OIDC for more details.

RSSHub

There is a minimal integration of RSSHub in the example Docker Compose. Once enabled, you can add RSS feeds from RSSHub via internal URL (docker service discovery), for example: http://service.rsshub:3000/bbc.

For more information on configuring RSSHub, please refer to RSSHub Docs.

Themes

Feedly

Feedly

RSSHub

RSSHub

Recommendation

Support and Help

Donation

Please consider donations to support TTRSS directly.

License

MIT

FOSSA Status

+ \ No newline at end of file diff --git a/zh/index.html b/zh/index.html index 4a5fdaf8..b84f89a4 100644 --- a/zh/index.html +++ b/zh/index.html @@ -13,7 +13,7 @@ - + @@ -85,8 +85,8 @@ - com.centurylinklabs.watchtower.enable=false

数据库更新或迁移

Postgres 大版本更新 (15->16) 需要额外的步骤来确保服务正常运行。 为了更好地优化 Awesome TTRSS,有时候可能会推出一些破坏性更新。

步骤

WARNING

在升级时,请勿跳过多个大版本,例如直接从 13.x 升级到 16.x 是不支援的,并可能导致数据丢失。

这些步骤演示了如何进行 Postgres 大版本更新(从 15.x 至 16.x),或者从其他镜像迁移至 postgres:alpine。

  1. 停止所有服务容器:

    bash
    docker compose stop
  2. 复制 Postgres 数据卷 ~/postgres/data/(或者你在 Docker Compose 中指定的目录)至其他任何地方作为备份,这非常重要!

  3. 执行如下命令来导出所有数据:

    bash
    docker exec postgres pg_dumpall -c -U 数据库用户名 > export.sql
  4. 删除 Postgres 数据卷 ~/postgres/data/

  5. 根据最新 docker-compose.yml 中的database.postgres 部份来更新你的 Docker Compose 文件(注意 DB_NAME 不可更改),并启动:

    bash
    docker compose up -d
  6. 执行如下命令来导入所有数据:

    bash
    cat export.sql | docker exec -i postgres psql -U 数据库用户名
  7. 测试所有服务是否正常工作,现在你可以移除步骤二中的备份了。

插件

Mercury 全文获取

全文内容提取插件,配合单独的 Mercury Parser API 服务器使用。[样例 Docker Compose](#通过-docker-compose-部署) 中已经包含了 HenryQW/mercury-parser-api 服务器。

设置步骤

  1. 在设置中启用 mercury-fulltext 插件 启用 Mercury
  2. 在设置中填入 Mercury Parser API 地址 填入 Mercury Parser API 地址

使用 Awesome-TTRSS 部署的 mercury 可填写service.mercury:3000

全文提取按钮

FreshRSS / Google Reader API

FreshRSS / Google Reader API 插件,用于 Tiny-Tiny RSS

Steps

  1. 导航到 Tiny Tiny RSS 中的“首选项”菜单,然后选中 “General” “Enable API”下的框 enable API
  2. 偏好,打开插件菜单并启用 “freshapi” enable FreshAPI
  3. 配置移动应用程序时,请选择 “FreshRSS”或 “Google Reader API”。根据您的设置,您需要将客户指向 TT-RSS 安装。如果您使用子域来主持 TT-RSS,请使用 https://yoursubdomain.yourdomain.com/plugins.local/freshapi/api/greader.php . 如果您在根域上运行,请使用 https://yourdomain.com/plugins.local/freshapi/api/greader.php
  4. 使用您的标准 TT-RSS 用户名和密码。如果您启用了 2 个因子身份验证(2FA)生成并使用应用程序密码。与所有处理身份验证的插件一样,强烈建议使用 开启 HTTPS

Fever API

提供 Fever API 支持。

设置步骤

  1. 在设置中启用 API。 启用 API
  2. 在插件设置中设置 Fever 密码。 设置 Fever 密码
  3. 在支持 Fever 的阅读器用,使用 https://[您的地址]/plugins/fever 作为服务器地址。使用您的账号和步骤 2 中的密码登录。
  4. 由于该插件使用未加盐的 MD5 加密密码进行通信,强烈建议 开启 HTTPS

OpenCC 繁简转换 arm32v7 ✗arm64v8 ✗

使用 OpenCC 为 TTRSS 提供中文繁转简的插件,需要配合单独的 OpenCC API 服务器使用。[样例 Docker Compose](#通过-docker-compose-部署) 中已经包含了 HenryQW/OpenCC.henry.wang 服务器。

设置步骤

  1. 在设置中启用 opencc 插件 启用 opencc
  2. 在设置中填入 OpenCC API 地址
    填入 OpenCC API 地址

使用 Awesome-TTRSS 部署的 OpenCC 可填写service.opencc:3000

转换按钮

FeedReader API

提供 FeedReader API 支持。

系统插件,将 api_feedreader 添加到 ENABLE_PLUGINS 环境变量中以启用。

使用指南见 FeedReader API

News+ API

为 Android App News+ 和 iOS App Fiery Feeds 提供更快的同步速度。

系统插件,将 api_newsplus 添加到 ENABLE_PLUGINS 环境变量中以启用。

使用指南见 News+ API

Feediron

提供文章 DOM 操控能力的插件。

使用指南见 Feediron

Options per Feed

提供单独为源地址配置代理、user-agent 以及 SSL 证书验证的能力。

使用指南见 Options per Feed

Remove iframe sandbox

注意

该插件与 Fever API 不能同时作为全局插件启用。如果您同时需要两者:

  1. 在环境变量 ENABLE_PLUGINS 中移除 fever 并添加 remove_iframe_sandbox 作为全局插件启用。
  2. 在登陆 TTRSS 后,通过设置将 Fever API 作为本地插件启用。

移除 iframe 上的 sandbox 属性,以支持 feed 中直接播放嵌入视频。

使用指南见 Remove iframe sandbox

Wallabag v2

保存文章至 Wallabag。

使用指南见 Wallabag v2

Auth OIDC

这是一个系统插件,允许用户通过 OpenID Connect 提供程序(如 Keycloak)连接到 TTRSS。

通过将 auth_oidc 添加到环境变量 ENABLE_PLUGINS 来启用。

然后添加以下环境变量及相应的值:

yaml
AUTH_OIDC_NAME: "显示的 IDP 提供程序名称"
 AUTH_OIDC_URL: "https://oidc.hostname.com"
 AUTH_OIDC_CLIENT_ID: "test-rss"
-AUTH_OIDC_CLIENT_SECRET: "your-secret-token"

有关更多详细信息,请参阅 Auth OIDC

RSSHub

在示例的 Docker Compose 中集成了一个最小化的 RSSHub URL(Docker 服务发现)添加来自 RSSHub 的 RSS 源,例如:http://service.rsshub:3000/bbc

有关配置 RSSHub 的更多信息,请参考 RSSHub 文档

主题

Feedly

Feedly

RSSHub

RSSHub

使用建议

支持与帮助

捐赠

请考虑直接捐助支持 TTRSS.

许可

MIT

FOSSA Status

- +AUTH_OIDC_CLIENT_SECRET: "your-secret-token"

有关更多详细信息,请参阅 Auth OIDC

RSSHub

在示例的 Docker Compose 中集成了一个最小化的 RSSHub URL(Docker 服务发现)添加来自 RSSHub 的 RSS 源,例如:http://service.rsshub:3000/bbc

有关配置 RSSHub 的更多信息,请参考 RSSHub 文档

主题

Feedly

Feedly

RSSHub

RSSHub

使用建议

支持与帮助

捐赠

请考虑直接捐助支持 TTRSS.

许可

MIT

FOSSA Status

+ \ No newline at end of file