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
Configure Linux system time synchronization with chrony and NTP hardening
linuxSet up Node.js application security with Helmet and rate limiting
securityInstall and configure Caddy web server with automatic HTTPS and reverse proxy
hostingInstall and configure Uvicorn ASGI server with systemd and reverse proxy for FastAPI applications
hostingInstall and configure PostgreSQL 17 with performance tuning and security hardening
databasesRecently published
Set up Fail2ban with Cloudflare API integration for automatic IP blocking and enhanced security
securityConfigure keepalived with HAProxy backend health monitoring for high availability load balancing
networkingConfigure ModSecurity machine learning anomaly detection for automated threat protection
securityConfigure NGINX HTTP/2 server push and connection multiplexing
performanceConfigure NGINX SSL certificate automation with Certbot and renewal monitoring
hostingImplement Linux memory cgroups for container workload isolation
Configure cgroups v2 memory subsystem to isolate container workloads with precise memory limits, monitoring, and automated enforcement for production environments.
Configure Linux user session limits with systemd and pam_limits for resource management
Learn to set up comprehensive user session resource limits using both traditional pam_limits.conf and modern systemd user slices. This tutorial covers memory, CPU, and process limits to prevent resource exhaustion on multi-user systems.
Install and configure Graylog 5 for centralized log management with MongoDB and Elasticsearch
Set up Graylog 5 with MongoDB 8.0 and Elasticsearch 8 for centralized log collection, analysis, and alerting. Learn to configure secure inputs, data streams, and monitoring for production environments.
Set up automated MySQL database backups with compression and rotation
Configure automated MySQL database backups with compression, encryption, and rotation using systemd timers. Includes monitoring and alerting for backup failures.
Configure NGINX rate limiting and advanced security rules for DDoS protection
Configure NGINX with comprehensive rate limiting, connection throttling, and advanced security headers to protect your web applications from DDoS attacks and malicious traffic. Learn to implement zone-based rate limiting, geographic blocking, and real-time monitoring for production environments.
Configure Thanos Receiver clustering for high availability and load distribution
Set up Thanos Receiver clustering with hashring configuration to distribute Prometheus remote write traffic across multiple replicas for high availability and scalability.
Monitor PostgreSQL performance with Prometheus and Grafana dashboards
Set up comprehensive PostgreSQL monitoring using Prometheus PostgreSQL exporter and Grafana dashboards. Configure performance metrics collection, visualization, and alerting for database optimization and troubleshooting.
Implement Redis backup automation with compression and encryption
Set up automated Redis backups with compression and GPG encryption for production environments. Create systemd timers for scheduled backups and implement secure remote storage for Redis data protection.
Implement Grafana alerting with Prometheus and InfluxDB for comprehensive monitoring
Set up comprehensive Grafana alerting using both Prometheus metrics and InfluxDB time-series data to monitor your infrastructure from multiple data sources. This tutorial covers configuring data sources, creating alert rules, and setting up notification channels for production monitoring.
Implement MongoDB 8.0 change streams for real-time data processing and application synchronization
Set up MongoDB 8.0 change streams to monitor database changes in real-time. Configure replica sets, implement Python and Node.js clients, and add filtering and resumability for production applications.
Set up OpenTelemetry custom instrumentation and metrics collection with Prometheus integration
Configure OpenTelemetry Collector with custom metrics exporters and processors, set up application instrumentation with SDKs, and integrate with Prometheus and Grafana for comprehensive distributed system monitoring and observability.
Configure SSH port forwarding and tunneling for secure connections
Learn to configure SSH port forwarding, remote tunnels, and SOCKS proxy for secure network connections. Set up local, remote, and dynamic port forwarding with automated monitoring and security hardening.
Need help?
Don't want to manage this yourself?
We handle infrastructure for businesses that depend on uptime. From initial setup to ongoing operations.
Talk to an engineer