Backups part 2: using restic to back up files to Backblaze

This post is a follow-up to a post where I talk about backups strategy.

Here I describe my solution for file backups from my Linux computers, and don't yet go into the subject of other devices and online services.

After some experimentation I decided to use restic for this. Restic is a modern, open-source backup program with an active community. It is written in Go. It runs on Linux (but also BSD, Mac and Windows) and can back up to local disks as well as remote/cloud services.

And as I wanted my backups to be cheap, "pay as you go" and off-site I've opted to use Backblaze for storage.

Why restic?

Read more…

Backups part 1: Strategy

There are two kinds of people in this world: people who back up their files and people who will back up their files.

If you don't do backups, check the world backup day website. It lists a number of reasons of why backups are important and provides some advice on how to start backing your files up.

However, their advice is rather simplistic. After following it and setting up /some/ backup, one may end up with no usable backups still and false sense of security. Or, people who are more paranoid (or experienced?), may still have some anxiety. There are still many open questions. Do I backup the right files? Did I forget anything? Will these backups protect me from all data loss situations? Do they cost me too much?

Read more…

Donating with Liberapay

Donating with Liberapay

Recently I've stumbled upon Liberapay.

Liberapay is a non-profit crowdfunding platform. The most interesting thing is that Liberapay does not charge fee for donations. Instead, it relies on donations itself. So Liberapay has account on Liberapay. Another big upside is that it appears to be entirely open-source.

The biggest downside is that it does not appear to be very popular, so there is not all that many things to donate to there.

Still, I found a few things and set up a few tiny recurring donations.

Then I thought it would be interesting to get some. Mostly as a social experiment - I would be surprised to get a single cent.

Receiving donations from Liberapay

The setup was fairly straightforward. Any registered user can add Stripe or PayPal account. I was not registered in either, so I opted to sign up for Stripe which took around 10 minutes.

Then in order to attract people I've installed a couple of buttons on this website. It required a small modification of templates. The buttons use JavaScript but appear to have a fallback, and don't appear to set or collect any cookies.

It is also quite easy to add "Donate" button to GitHub. Once simply needs to place .github/FUNDING.yml file to their default branch. For me it looked like this:

liberapay: rvs

There are more docs and examples on GitHub.

Donate away

Click my button, give me some money. I don't intend to profit on it, and would try to match anything given to me, though quite likely not through Liberapay unless it suddenly becomes more popular.

I found following interesting (to me) projects there:

  • Liberapay itself
  • Syncthing - Open-Source p2p file synchronization tool. I did not set up donation in Liberapay since I already donate through other channels.
  • LVFS - collaborative initiative to install firmware in Linux

Setting up single-node Kubernetes cluster

Kubernetes log As almost any engineer I have a small "server" at home. This server is nothing more than an old laptop running CentOS and a few docker containers in it. At some point I got tired of restarting and updating them manually. And of course instead of writing a few systemd unit files I've decided to over-engineer it and run Kubernetes on it.

This was a nice way to keep myself busy for a few evenings and get some relevant experience.

Choices

After small amount of reading it was quite obvious there is no single way to set up Kubernetes. There are many ways to set Kubernetes up and it's easy to get lost. Thus before doing everything else, let's outline what is it that I wanted:

  • Working Kubernetes "cluster" that fits on one machine with dual-code CPU and 4 GiB of RAM.
  • It must be possible to run it on more than one machine in the future.
  • It must be close to what I'd run in production - I want to get relevant experience. So no Minikube or similar things.

Read more…

Monit: lightweight monitoring solution

Monit is a simple, lightweight, but useful and powerful enough monitoring solution for your servers.

Monit can monitor: * OS processes (presence, resources) * files, directories and file system for changes (mtime, size and checksum changes) * network hosts (ping, TCP connections)

Monit can notify administrator via configurable e-mail messages. It also can automatically restart failed service.

Monit has an embedded web-server which allows to view state on monitoring objects and disable or enable them.

Read more…