semjonov.de blog

rss feed ›

Signed Npm Version Bumps

package.json For a while now I’ve been using Visual Studio Code for a few JavaScript / TypeScript projects. Most of these projects come with a package.json file, which documents various aspects of the project. A tiny example of such a file: { "name": "foo", "version": "1.2.3", "description": "A packaged foo fooer for fooing foos", "main": "foo.js" } npm version There’s that interesting property version. In conjunction with the npm version command it allows for very easy version bumping with automatic tagging. read on »

On-Demand Socket Forwarding with Systemd

Sooner or later when setting up a server you’ll want to create some MySQL databses and users. If you’re not proficient in writing SQL queries or just wanted to use a nice GUI tool for the task, you’d need to connect remotely to your databse host. But of course you do not want to expose your MySQL port to the internet … Or suppose you want to debug some remote service, which is only accessible locally on the remote machine …

read on »

Transforming an encrypted array from RAID 1 to RAID 6

1 Introduction Some context I have a NAS at home which runs on Debian Jessie. A NAS wouldn’t be a NAS without some storage, so I put in two disks with 4 TB each when I built it. Those two disks have actually been used in a setup with OpenMediaVault before that and already had a software-RAID on them. When migrating the disks (to Ubuntu at first) I learned about mdadm and that OpenMediaVault uses it. read on »

Install Ghost on an Arch VPS

I recently got myself a small VPS from Hetzner to play around with. Using their ‘rescue’ function you can mount different installer images in the virtual disc drive and install the system via VNC or web console. They provide an Arch installer too, so I chose that. I set up a very barebones system on a btrfs partition and with an nginx webserver. To me, Arch seemed like an interesting choice for a webserver and so I cloned my nginx config from my nas and began to go through all the directives again and tidy up all the configs in the process, making as much as possible a global directive inside the http { } block. read on »

OpenSSH + OATH-TOTP

I dug a little further after my last post and stumbled upon this excellent blog post. It turns out that using the libpam-oath module for two-factor authentication is a lot easier than the challenge-response module and it works rather fabulously. I will document the steps I took here. Again, all credit goes to the author of that blog post above - I mainly followed his explanations and links. What we are going to do We want to enable two-factor authentication when logging in via ssh. read on »