[ OK ]Initializing kernel...
~/im/blog
Hire Me

Let's Talk

Got an infrastructure problem or need an extra hand? I'm open to discussing new projects.

Get in touch

Connect

Find me on social media and professional networks.

© 2026 Irfan Miral. All rights reserved.Developed byIrfan Miral
Privacy PolicyTerms & Conditions
HomeServicesAbout/ResumeBlogContactTools

Blog

Thoughts, tutorials, and insights from the trenches.

Clear Filters
11 articles•Filtering by: Linux Administration
2026-12-09• 6 min read
Hosting

Self-Hosting Nextcloud: What I Set Up Differently From the Defaults

Nextcloud's default install technically works. But a handful of specific settings around cron, caching, and upload limits separate 'it runs' from 'it runs well enough that people actually use it.'

Nextcloud Self-Hosting Linux Administration
2026-10-28• 5 min read
DevOps

Log Management on a Single Server

An ELK stack is massive overkill for one server, but 'grep through /var/log and hope' isn't a strategy either. There is a useful middle ground.

Logging Linux Administration Observability
2026-09-16• 6 min read
DevOps

Migrating a Website Without Downtime

'Zero downtime migration' sounds like it needs special tooling. Almost always, it just needs the new server fully tested before DNS changes, and a TTL that was lowered days in advance.

Migration DNS Linux Administration
2026-06-10• 5 min read
Security

The First Hour on a New VPS: My Hardening Checklist

Before anything gets installed, every new server goes through the same short checklist to close off automated attacks.

Server Security Linux Administration VPS
2026-05-29• 5 min read
Databases

PostgreSQL Backups You Can Actually Restore: Setting Up pgBackRest

A pg_dump cron job feels exactly like a real backup, right up until restore day. Here is how I set up pgBackRest so restores are a routine event, not a guessing game.

PostgreSQL Backups Linux Administration
2026-04-16• 5 min read
Cloud

Spinning Up a KVM VM from the CLI

Clicking through a VM creation wizard is totally fine the very first time. The second, third, and fortieth time, a single `virt-install` command with a cloud-init seed does the exact same job in seconds.

KVM Virtualization Linux Administration
2026-03-05• 5 min read
DevOps

Cron vs systemd Timers: When I Reach for Each

systemd timers are more capable, but I still write cron jobs. Here is how I actually decide between the two.

Linux Administration systemd Automation
2026-02-19• 5 min read
DevOps

Why Server Configs Belong in Git, Not in Your Head

An Nginx config edited live at 2 AM during an incident is correct, but completely undocumented. Here is how I keep configs in version control without turning small setups into heavy infrastructure-as-code projects.

Git Infrastructure as Code Linux Administration
2026-02-05• 5 min read
DevOps

The Ansible Playbook I Run on Every New Server

Doing server hardening by hand works fine until you're doing it for the tenth time that month. Here's the Ansible playbook that automates my baseline checklist.

Ansible Automation Linux Administration
2026-01-08• 5 min read
DevOps

Bash Scripts I Reuse on Every New Server

A handful of small scripts go on every server I manage before any application gets deployed. None of them are clever, and that is exactly why they are still useful years later.

Bash Linux Administration Automation