All posts

First time to blog in three years! As a person too busy with ${DAYJOB} the last few years, I wanted my remaining servers hosting groupware, file sharing, and news reading software to ideally manage themselves. 12 EUR/mo doesn’t mean you get a system administrator to do chores for you, instead you get to do the routines yourself. That could only continue for as much before we would get fed up and attempt the move back to being truly serverless™, which is what the post you’re reading is all about.

It turns out restic is a bit less trivial to set up with Amazon’s S3 due to some incoherency in URI handling by Amazon S3 leading to subtle problems with repo initialization where restic init is only fine with a specific variant of the S3 bucket URI and all other restic commands would work with another one. While the linked bug is about Scaleway’s object storage, the problem encountered also applied to AWS S3.

This post documents an Ansible sample variable setup to automatically generate proper restic repository paths.

I rarely complain on others’ software, but this time I felt compelled to share my first impression on GORM, since it’s quite an example of how you pick software you need.

Since you usually don’t care much about the upsides but rather have blockers preventing you from using something at all, let’s get right to the negative side.

The market of the software to replace GnuPG and the OpenPGP infrastructure appears to be quite a topic on itself, the precondition to replace GnuPG being its complexity (which has gone to levels so high the official library to interface with GnuPG, gpgme, is literally a command-line wrapper1 to GnuPG), it being the de-facto implementation of OpenPGP, and its other problems, as commonly illustrated by this post by Latacora.

You can read the Russian version of this post here.

Restic, the simple backup program, is a fairly well-known piece of software. Designed to be simple to both use and script on any system, it doesn’t include any OS-specific setup examples, which is precisely what this post describes.

So what we’re trying to achieve here:

  1. Automated backup runs daily at 12:00 AM (or any configurable time).
  2. The backup includes only important configuration files and data stores.
  3. The backup also includes all PostgreSQL databases, restorable with psql -f.
  4. The backup expands to an unlimited number of repos on need.