Enable query stats in Mastodon with postgres

Clicking pghero under Mastodon Administration menu, the interface shows the Query stats must be enabled for slow queries orange warning, in the interface that looks like this: After clicking the blue Enable button, instead of a success, the error The database user does not have…

Running Mastodon with docker-compose

A minimal set of commands I had to do to successfully run Mastodon via docker-compose on the VPS. Many OS specific configurations are omitted, as I decided to use Arch on this VPS as well, which is not what most people choose for their server environment, at least not when caveat…

Setting up SMTP in Mastodon

Setting up a Mastodon instance was not so hard. I mean, it took some tries to get it right finally, but generally I could understand what is happening and why there is currently a problem all the time during that process. However, configuring that instance to send emails was a fr…

Install PHP7 with composer on Arch

After adding support for PHP 8.0, Arch news reported they are keeping legacy PHP7 packages available back in January. I was quite out of PHP scene for now, but recently, I had to test something. The test obviously required the php core package, now the version 8.0 and a second ha…

Transfer files between servers using rrsync

You might be thinking there is a typo in the rrsync but it is actually a legitimate command name. The command name comes from restricted rsync and is usually distributed alongside rsync via the package manager. Lets find out where it is located on Arch Linux: $ pacman -Fy &&a…

Stripping EXIF metadata from photos

There is no shortage of privacy related issues on the Internet. One of them I decided to tackle today is EXIF metadata embedded to the photos I publish here. I do not publish photos too often currently, but occasionally I do. Before today, I did not strip any EXIF metadata and th…

Reverse proxy behind a reverse proxy

Learning things the hard way by getting my hands dirty is also the way I have learned about the concept of a reverse proxy behind another reverse proxy. The setup I had was a docker-compose file that configured multiple services including Nginx as a reverse proxy. Nothing special…