↓
Skip to main content
Stan’s blog
Posts
Tags
About
Posts
Tags
About
sysadmin
2025
Migrating my web analytics from Matomo to Umami
22 December 2025
·
·
Doing my cloud exit (kind of)
13 June 2025
·
Moving my personal infrastructure to Kubernetes (single-node k3s)
20 April 2025
·
Doing in-place, single-node Postgres upgrades with almost no downtime
2 March 2025
·
2021
How I use Tailscale to connect my devices
12 August 2021
·
Use netcat when the MySQL client lies to you
19 March 2021
·
2020
Monitoring with Prometheus
11 March 2020
·
Using a Hetzner Storage Box as a restic backend for backups
10 March 2020
·
2019
Object storage: migrating from Wasabi to Scaleway with rclone
20 November 2019
·
Easy web deployments with Ansistrano
16 September 2019
·
Migrating Ghost from SQLite to MySQL
14 September 2019
·
Caching Ghost with Nginx
26 August 2019
·
Fixing IPv6 on Hetzner Cloud: the story of a lifetime
13 August 2019
·
How I fixed ZFS data corruption errors on Hetzner Cloud
9 August 2019
·
Ansible 2.8 + snapcraft: my first big FOSS contribution!
22 May 2019
·
Elasticsearch 6 shard/replica settings for single-node cluster
25 March 2019
·
How I did (not) recover from a data loss (featuring ZFS, LXD and PostgreSQL)
17 March 2019
·
Quick and easy Ansible linting CI pipeline
16 March 2019
·
How to set up a VPN server using WireGuard (with NAT and IPv6)
27 January 2019
·
2018
How to configure IPv6 on FreeBSD on an Online.net Dedibox
20 December 2018
·
How to set a static IPv4 address on a Raspberry Pi using dhcpd
18 December 2018
·
How to manually install FreeBSD on a remote server (with UFS, ZFS, encryption...)
18 December 2018
·
How to use encrypted block storage volumes on Hetzner Cloud
10 December 2018
·
How to measure a Raspberry Pi's temperature and CPU frequency with Telegraf
8 December 2018
·
How to improve Caddy's HTTPS configuration
18 November 2018
·
How to enable TLS 1.3 on Nginx
1 November 2018
·
How to mount a local GlusterFS volume at boot (fstab/systemd fix)
28 October 2018
·
Terraform: How to enable "Use Origin Cache Headers" on CloudFront
11 September 2018
·
Automatically build and push Docker images using GitLab CI
7 September 2018
·
How to setup a Telegram bot for your Drone CI/CD builds
29 August 2018
·
Host your own CI/CD server with Drone
25 August 2018
·
How I back up my servers using restic and Wasabi object storage
29 July 2018
·
Enable DNSSEC support in systemd-resolved
3 June 2018
·
Moving Mastodon's media files to Wasabi Object Storage
28 May 2018
·
Install Docker on a ZFS pool
2 April 2018
·
Setup a ZFS pool on a Hetzner VM running Debian 9
2 April 2018
·
Monitoring with Telegraf, InfluxDB and Grafana
1 April 2018
·
Diaspora* in Docker
17 March 2018
·
Migrating Ghost to Docker
13 March 2018
·
Migrating Ghost from MySQL to SQLite
12 March 2018
·
Add comments to your blog with Isso
21 February 2018
·
Setup a ZFS pool for your LXC containers with LXD
18 February 2018
·
Setup a network bridge for your LXC containers with lxc-net
16 February 2018
·
Configure the Unbound plugin for Munin
11 February 2018
·
How to set up a diaspora* pod on Debian and Ubuntu
10 February 2018
·
Add a dynamic MOTD to your Linux server
6 February 2018
·
Do a speedtest from your terminal with speedtest-cli
2 February 2018
·
↑