summaryrefslogtreecommitdiff
path: root/content/yarr.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/yarr.md')
-rw-r--r--content/yarr.md103
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}