simon

simon

github

Deploying TTRSS+Fever Nas

Purpose#

The main purpose is to get rid of feedly, which requires a proxy every time I use it. My phone's proxy is not always on. So it would be more convenient to build my own RSS service.

Choice#

The most common one now is ttrss, and then configure the fever plugin, which provides an API that can be used in various clients, such as the one I use, Reeder.

Setup#

Start directly with docker-compose.

  1. Create a ttrss folder under the docker folder, and then create a data folder inside it to store other configurations.
  2. Create a configuration file named docker-compose.yml. Pay attention to the comments and change them to your own data as required.
version: "3"
services:
  database.postgres:
    image: sameersbn/postgresql:10 [[Special note: do not use latest]]
    container_name: postgres
    environment:
      - PG_PASSWORD=PGPS123 # Modify the database password
      - DB_EXTENSION=pg_trgm
    volumes:
      - /volume2/docker/ttrss/data/:/var/lib/postgresql/ # Pay special attention, fill in the number of volumes where the suite is located
    restart: always

  service.rss:
    image: wangqiru/ttrss:latest
    container_name: ttrss
    ports:
      - 5005:80
    environment:
      - SELF_URL_PATH=http://yourIP:5005/ # The following 7 parameters can be modified in docker later, so no need to change them for now
      - DB_HOST=database.postgres
      - DB_PORT=5432 # Database port, do not modify it
      - DB_NAME=ttrss
      - DB_USER=postgres
      - DB_PASS=PGPS123 # The password above
      - ENABLE_PLUGINS=auth_internal,fever # Enabled by default
    stdin_open: true
    tty: true
    restart: always
    command: sh -c 'sh /wait-for.sh database.postgres:5432 -- php /configure-db.php && exec s6-svscan /etc/s6/' # Do not change it casually, this is the command executed when the container starts
  1. SSH to the NAS and use sudo su to switch to the root user.
  2. Go to the docker/ttrss directory and execute
docker-compose up -d
  1. At this point, you can see the two newly created containers in the suite docker. One is the postgres database and the other is ttrss.
  2. Open the configuration and modify the environment variables. Change SELF_URL_PATH to the domain name address + port that you access from the external network.
  3. Use reverse proxy to achieve HTTPS access as previously mentioned, which is the port set above.
  4. Log in using the default username and password, which are admin and password respectively.
  5. Go to Preferences
    1. Change the password
    2. Enable "Allow external clients to access this account via API"
    3. Go to Plugins - Fever Emulation - Set the password for fever, it is recommended to be the same as ttrss
  6. At this point, you can import your previous OPML in the settings and migrate your past subscriptions.
  7. Finally, log in to your account on Reeder. There are some small pitfalls here, regarding the three parameters it requires:
    1. Service URL: You can see it on the plugin page, but that address is wrong. The real address is host/plugins/fever/, with "plugin" in the middle, not "plugin.local".
    2. Email address: This is actually the username you filled in, which is admin here. This took me a while to figure out.
    3. Password: It is the password set in the fever configuration.
  8. Finally, you can choose different themes on this page. I switched to the feedly night theme, which is very eye-catching.

One More Thing#

There is one more issue, some RSS feeds are outside the Great Firewall, which requires configuring a VPN.
Just add a parameter in the docker environment variables:

HTTP_PROXY=192.168.11.X:7890 // The LAN IP of the host machine: the port number of the HTTP proxy
Loading...
Ownership of this post data is guaranteed by blockchain and smart contracts to the creator alone.