diff options
Diffstat (limited to 'content/yarr.md')
| -rw-r--r-- | content/yarr.md | 103 |
1 files changed, 103 insertions, 0 deletions
diff --git a/content/yarr.md b/content/yarr.md new file mode 100644 index 0000000..ecbf3d5 --- /dev/null +++ b/content/yarr.md @@ -0,0 +1,103 @@ +--- +title: "Yarr" +date: 2022-07-01 +icon: "yarr.svg" +tags: ["service"] +short_desc: "A self-hosted, web-based feed aggregator" +--- + +[Yarr](https://github.com/nkanaev/yarr) (yet another rss reader) is a web-based feed aggregator which can be used both as a desktop application and a personal self-hosted server. + +It is written in Go with the frontend in Vue.js. The storage is backed by SQLite. + +## Installing Yarr + +Firstly, we have to download yarr binary from github on our system + +```sh +wget https://github.com/nkanaev/yarr/releases/download/v2.3/yarr-v2.3-linux64.zip +``` + +Unzip the archive + +```sh +unzip -x yarr-v2.3-linux64.zip +``` + +Move the binary to your bin folder + +```sh +mv yarr /usr/local/bin/yarr +``` + +## Configuration + +Now we need to create a `auth.conf` file that include user and password to create a local yarr account. +I personnaly store this file in a directory called yarr in `~/.config` folder, but you can place the file wherever you want. + +```sh +mkdir ~/.config/yarr +echo 'sich:password' > ~/.config/yarr/auth.conf +``` + +## Creating a service + +Create a new file /etc/systemd/system/yarr.service and add the following: + +```systemd +[Unit] +Description=Yarr + +[Service] +Environment=HOME=/home/sich +ExecStart=/usr/bin/env yarr -addr 0.0.0.0:7070 -auth-file=/home/sich/.config/yarr/auth.conf -db=/home/sich/.config/yarr/feed.sql -log-file=/home/sich/.config/yarr/access.log +Restart=on-failure + +[Install] +WantedBy=multi-user.target +``` + +After creating the config, load, start and enable the service with the following commands. + +```sh +systemctl daemon-reload +systemctl enable --now yarr +``` + +## Nginx configuration + +Create an Nginx configuration file for Yarr, say /etc/nginx/sites-available/yarr and add the content below: + +```nginx +server { + listen 80 ; + listen [::]:80 ; + + server_name rss.example.org ; + + location / { + proxy_pass http://localhost:7070/; + } +} +``` + +Now let's enable the Nginx Yarr site and reload Nginx to make it active. + +```sh +ln -s /etc/nginx/sites-available/yarr /etc/nginx/sites-enabled +systemctl reload nginx +``` + +### Encryption + +You can encrypt your yarr subdomain as well. Let's do that with certbot: + +```sh +certbot --nginx -d rss.example.org +``` + +Now you can go to rss.example.org, login and start to add your feeds! + +## Contribution + +Author: Jppaled -- [jppaled.xyz](https://jppaled.xyz) \-- XMR: `86bVp8bcx1F3y3NsfuTRs6D7FfnDyLomV7dLJmus2YMiY9Aat6W5m8JGwuvH39HKrq3immS7noKq8HeW4gb4BFbyLoz5WSZ`{.crypto} |
