Skip to content

Instantly share code, notes, and snippets.

@samtux
Last active November 8, 2024 15:33
Show Gist options
  • Save samtux/0750dd8c76ba03ac4cf2ad22bf3f8f87 to your computer and use it in GitHub Desktop.
Save samtux/0750dd8c76ba03ac4cf2ad22bf3f8f87 to your computer and use it in GitHub Desktop.
Instructions to help configure and install TTRSS

After a long, long time trying to set up various RSS services, I have finally succeeded through TTRSS. I share instructions if these can be of help:

  1. Download some of the plugins TTRSS on a shared volume with Docker:
    > mkdir -p /home/myuser/srv/ttrss/plugins/
    > cd /home/myuser/srv/ttrss/plugins/
    > git clone https://github.com/SqrtMinusOne/elfeed-sync.git elfeed_sync
    > git clone https://github.com/DigitalDJ/tinytinyrss-fever-plugin fever
        

    elfeed-syn can also be an alternative synchronization solution:

    https://github.com/SqrtMinusOne/elfeed-sync

  2. install TTRSS with Docker, in this case I made use of the following project for my Orange PI ARM64, but it can work for any architecture:

    https://github.com/nVentiveUX/docker-ttrss

    docker network create ttrss_net
        
    docker run \
         -d \
         --name ttrss_database \
         -v ttrss_db_vol:/var/lib/postgresql/data \
         -e POSTGRES_USER=ttrss \
         -e POSTGRES_PASSWORD=ttrss \
         -p 5432:5433 \
         --network ttrss_net \
         postgres:12.6-alpine
        
    docker run
         -d \
         --name ttrss
         -e TTRSS_DB_HOST=“ttrss_database” \
       -e TTRSS_SELF_URL_PATH="https://ttrss.duckdns.org/” \
       -e “TTRSS_PLUGINS=auth_internal, auth_remote, nginx_xaccel, elfeed_sync, fever” \
       -v /home/myuser/srv/ttrss/plugins:/srv/ttrss/plugins.local \
         -e TTRSS_DB_TYPE=“pgsql” \
         -p 9000:80 \
         --network ttrss_net \
         nventiveux/ttrss:latest
        
  3. In emacs, after installing elfeed-protocol, elfeed-goodies, use the following configuration:
    (use-package elfeed
      :ensure t
      :bind (("C-x w" . elfeed))
      :custom
      (elfeed-db-directory "$HOME/.elfeed"))
    
     (use-package elfeed-goodies
     :init
      (elfeed-goodies/setup)
      :config
      (setq elfeed-goodies/entry-pane-size 0.6))
    
      (use-package elfeed-protocol
          :ensure t
          :demand t
          :after elfeed
          :config
          (elfeed-protocol-enable)
          :custom
          (setq elfeed-use-curl t)
          (elfeed-set-timeout 36000)
          (setq elfeed-curl-extra-arguments '("--insecure")) ;necessary for https without a trust certificate
          (setq elfeed-protocol-ttrss-maxsize 200) ;; bigger than 200 is invalid
          (setq elfeed-protocol-ttrss-fetch-category-as-tag t)
          :config
          (setq elfeed-protocol-feeds (append elfeed-protocol-feeds elfeed-feeds))
          (setq elfeed-protocol-feeds '(("ttrss+https://[email protected]"
                                         :password "myultrasecretpassword"))))
        
  4. Finally, use the elfeed-protocol-reinit and elfeed-protocol-update commands to update the synchronization.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment