This blog uses Ghost 3.0 with the modified mnml theme, which supports math text through KaTeX. Fonts are changed to TeX Gyre Pagella for serif (main text) and Quattrocento Sans for sans-serif (headers, titles). Some of the contents here were previously posted in my older Wordpress blog.
Infrastructure-wise, all of my self-hosted services are running on Docker containers across two providers, GCP and DigitalOcean. Services hosted on GCP are those whose uptime and latency are critical, while DO hosts those that need more RAM and CPU. My ping to GCP tends to consistent below 60ms regardless of ISP in the Philippines (both fixed-line and LTE), but the egress rates for the premium networking tier costs a lot. DO offers significantly cheaper bandwidth and RAM/CPU, but tends to have latency problems depending on the ISP of the client device. (Update 08Jan20: for the past few weeks I experienced severe latency issues from DO, which made me migrate the services to AWS Lightsail).
My self-hosted services are:
- Ghost, which runs this blog
- Gitea, for my personal repos and mirroring collaborator repos on Github
- The Lounge + ZNC + Bitlbee, for having an always-on IRC and messaging web app
- Tiny Tiny RSS + Mercury Parser, which hosts my RSS reader with Fever API compatibility. The parser automatically fetches full articles from the feed links.
- Rtorrent + Flood + OpenVPN client, for a secure and fast remote download manager
- Rclone for GDrive and DO Spaces, for mounting remote storage to my servicers, i.e. GDrive for large downloads and dataset backups, Spaces for smaller files and hosted static assets.
- Jellyfin, for private hosting and playback of personal media files
- OpenVPN server, mostly for resolving connectivity issues. Currently runs a UDP endpoint when encountering connection issues in games, and TCP through 443 for bypassing restrictive firewalls, e.g. hotels and cafes
- InfluxDB + Grafana, for monitoring my services. Everything is run on a tight budget, so resource tracking is very important.
Most of the deployed services above took inspiration from Awesome Self-hosted and the r/selfhosted subreddit. I'm also planning to deploy an image gallery and Nextcloud file server if my resources permit. I'm working on putting up separate articles on how these are deployed, how much it all costs, and how everything fits into my daily workflow.
Updated 08 Jan 2020