Installing Wallabag on Fedora November

Found at: jfm.carcosa.net:70/blog/computing/wallabag.txt

# Installing Wallabag on Fedora 31

November 19, 2019 ยท 4 minute read
Posted in:  wallabag fedora kobo reading 


After I [decided to give KOReader another try][0], I knew that I needed some way
of getting news articles onto my Kobo. The methods that KOReader supports are
RSS feeds, Send2Ebook, and Wallabag. I investigated each of these methods at
least briefly.

I ruled out Send2Ebook because it involves the client app sending your documents
to an FTP server, and I'm not willing to run an FTP server in the year 2019 CE.

The path of least resistance for me would have been to use RSS feeds. I have a
couple of ways I can get things I want to read later into an RSS feed. I get a
lot of my articles to read via [tt-rss][1], and it would not be a big change to
my workflow to use "publish to tt-rss" from the mobile app or a bookmarklet to
save my read-later articles. Unfortunately, for whatever reason, the KOReader
RSS downloader plugin does not like the rss feeds produced by TT-RSS.

The other place I could get my read-later articles into an RSS feed was on
[Pinboard][2], a subscription based service. I had already been using this for
my read-later articles, and it is possible to get an RSS feed for a given tag,
or, in this case, unread articles with a given tag. I never got around to seeing
if this feed worked with KOReader, because I decided to give [Wallabag][3]
another try.

Now, I have tried installing Wallabag before, and have not met with much
success. I won't go too much into the failures, except to say that the install
script does not seem to be well tested with PostgreSQL, and trying to get it to
work with it, my preferred database, was beyond my abilities. The docker images
seem like they would make installation a simple one-command process, but in
fact, on Fedora, SELinux controls on the persistent volumes look like a hard
problem to solve. Once I gave up and installed it locally with MariaDB (the
community fork of MySQL), everything actually went very smoothly.

The Wallabag plugin in KOReader is actually very good. It's a little bit of work
to set up the long credential strings, but the app interface tells you where to
find the config file they go in when you have your reader plugged into your
computer, so that made copying them not too hard. Other than that, everything is
pretty smooth. The plugin can automatically download unread articles, possibly
only those with a particular tag, and can automatically delete (archive, on the
server side) ones that you've marked as read. It is almost as smooth as the
Pocket integration in Nickel (the stock firmware), except the epub generation is
not quite as smooth, and there's no choice to sync automatically on a schedule.
The Firefox extension is extremely good; better than the Pinboard extension,
almost as good as the built-in Pocket support.

### Quick setup guide for Fedora 31

This is just a quick guide that purports to tell you how installing Wallabag on
Fedora 31 differs from the stock install-from-source instructions. These
instructions use MariaDB and Apache HTTPD.

Install MariaDB-server with the default settings, start it, and enable it.

Download the Wallabag current archive, and unpack it to /var/www/wallabag.
Change the ownership of that folder to apache.apache, and label it for SELinux
as read-write web content: 

sudo chown -R apache.apache /var/www/wallabag
sudo semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/wallabag(/.*)?'
Run the install script *as the apache user*, not as yourself, and not as root.

sudo -u apache make install

Accept the defaults from the script except for obvious things like your
hostname. Put wallabag on a subdomain of your domain (wallabag.mydomain.org), so
you don't have to worry about rewrite rules and such. Add that subdomain to your
LetsEncrypt certificate.

Follow the instructions for editing your `httpd.conf`. In my case, I had to add
the virtual host to `/etc/httpd/conf.d/ssl.conf` instead, as I have an
https-only Apache install (nothing on port 80 except redirect rules to port
443). Also, I think you have to add the lines specifying your cert to every
VirtualHost block, in order to make sure they're all the same and SNI works

If you want imports from Pinboard and Pocket to work, you need to install redis,
start it, and enable it. You don't need to configure it if it's on the same host
as your webserver. Log into your wallabag server and see that it works. Then
go into its settings and enable redis for asynchronous imports. Then follow the
instructions on setting up a cron job to run redis imports.

That's kind of a lot, but that should basically be it. After getting everything
set up, I'm quite happy with my Wallabag install and how it's working with

[0]: /blog/life/ereader-2/
[1]: https://tt-rss.org/
[2]: https://pinboard.in/
[3]: https://wallabag.org/