Infrastructure tutorials
Production-grade guides for Linux, servers, security and performance. Copy-paste commands, multi-distro support, written by engineers who run this in production.
Browse by topic
Linux
System administration, shell scripting, package management
Hosting & Servers
Web servers, reverse proxies, SSL, domains
Security
Firewalls, hardening, encryption, access control
Performance
Caching, optimization, profiling, load testing
Databases
MySQL, PostgreSQL, Redis, backups, replication
Networking
DNS, load balancing, VPN, TCP/IP, routing
DevOps
CI/CD, Docker, Kubernetes, automation
Monitoring
Logging, alerting, metrics, observability
Most viewed
Install and configure Deno for web development with systemd and reverse proxy
hostingFix apt update E: Repository no longer has a Release file
linuxInstall and configure Uptime Kuma for website monitoring with SSL and email alerts
monitoringInstall and configure Caddy web server with automatic HTTPS and reverse proxy
hostingInstall and configure TimescaleDB with PostgreSQL for high-performance time-series data
databasesRecently published
Build a custom Linux kernel module for hardware device monitoring
linuxCheck and manage running services on Linux with systemctl
linuxFix Redis OOM command not allowed when used memory greater than maxmemory
linuxBuild a highly available Linux cluster with Pacemaker and Corosync
linuxFind and view hidden files and directories on Linux
linuxAll tutorials
Browse complete directory →Build a custom Linux kernel module for hardware device monitoring
Learn how to write, build and load a custom Linux kernel module that exposes hardware metrics through a character device, proc and sysfs interfaces, then sign it for Secure Boot and package it with DKMS for distribution across kernel updates.
Check and manage running services on Linux with systemctl
Learn how to check running services on Linux, start, stop and restart them, enable them at boot, and read their logs with journalctl using systemctl on any systemd-based distro.
Fix Redis OOM command not allowed when used memory greater than maxmemory
Learn why Redis throws OOM command not allowed when used memory greater than maxmemory, how to diagnose it with redis-cli and free -m, and how to fix it by setting a sane maxmemory and eviction policy.
Build a highly available Linux cluster with Pacemaker and Corosync
Build a two-node active-passive cluster with Pacemaker, Corosync and pcs, including STONITH fencing, resource constraints and automatic failover of a floating virtual IP.
Find and view hidden files and directories on Linux
Learn how hidden files and dotfiles work on Linux, list them with ls -a and ls -la, find them with the find command, and view them in GUI and terminal file managers like ranger and mc.
Fix SSH Too many authentication failures error on Linux
Learn why SSH rejects you with too many authentication failures and how to fix it on the client with IdentitiesOnly and IdentityFile, manage ssh-agent keys correctly, and safely raise MaxAuthTries on servers you control.
Find out which process is using all your CPU or memory on Linux
Learn how to identify which process is consuming your Linux server's CPU or memory using top, ps aux, and sort, then safely terminate runaway or zombie processes without guessing.
Fix apt update E: Repository no longer has a Release file
Learn why apt update fails with the Release file error on Ubuntu and Debian, how to find the broken repository entry, and how to fix it safely, including EOL releases and GPG key issues.
Check disk space usage on Linux with df and du commands
Learn how to check disk space on Linux using df and du, find large files and directories, spot hidden disk usage from deleted but open files, and troubleshoot common out-of-space problems.
Find and kill processes using a specific port on Linux
Learn how to find which process is using a specific port on Linux, identify its owner safely, and kill it with the right tool. Covers lsof, ss, fuser, and how to prevent address already in use errors for good.
Fix PostgreSQL FATAL sorry, too many clients already
Learn why PostgreSQL throws FATAL: sorry, too many clients already, how to check and close idle connections, safely raise max_connections, and prevent the error from coming back with connection pooling.
Configure Istio multi-cluster disaster recovery and automated failover
Build a production-grade Istio primary-remote multi-cluster topology with shared trust, locality-aware failover, and automated recovery testing. Covers cross-cluster service discovery, Kiali and Prometheus monitoring, and control plane backup procedures.
Don't want to manage this yourself?
We handle infrastructure for businesses that depend on uptime. Fully managed, with one fixed contact who knows your setup.
You get one fixed contact who knows your setup
Rotterdam 17:06 · reachable in a message, no ticket form