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.
Selection#
Now the more common one 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.
Building#
Start directly with docker-compose.
- Create a ttrss folder under the docker folder, and then create a data folder inside it to store other configurations.
- 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 modify it casually, this is the command executed when the container starts
- SSH to the NAS and use
sudo su
to switch to the root user. - Go to the docker/ttrss directory and execute
docker-compose up -d
- At this time, you can see the two newly created containers in the suite docker, one is the postgres database and the other is ttrss.
- Open the configuration and modify the environment variables. Change SELF_URL_PATH to the domain name address + port that you can access from the external network.
- Use reverse proxy to achieve HTTPS access as mentioned before, which is the port set above.
- Log in with the default username and password, which are admin and password respectively.
- Go to Preferences
- Change the password
- Enable "Allow external clients to access this account via API"
- Go to Plugins - Fever Emulation - Set the password for fever, it is recommended to be the same as ttrss
- At this time, you can import your previous OPML in the settings and migrate your past subscriptions.
- Finally, log in to your account on Reeder. There are some small pitfalls here, regarding the three parameters it requires:
- 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".
- Email address: This is actually the username you filled in, which is admin here. This troubled me for a while.
- Password: It is the password set in the fever configuration.
- Finally, you can choose different themes on this page. I changed it to the night theme of feedly, which is very eye-catching.
One More Thing#
There is another problem, 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