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
hostingInstall 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 Ollama for local AI models on Linux servers
devopsInstall and configure TimescaleDB with PostgreSQL for high-performance time-series data
databasesRecently published
Configure PostgreSQL 17 connection pooling with PgBouncer for high availability
databasesConfigure Kubernetes secrets management with External Secrets Operator and HashiCorp Vault
devopsIntegrate Jaeger with Istio service mesh for distributed tracing
devopsConfigure Consul Connect service mesh monitoring with distributed tracing
monitoringConfigure Kubernetes RBAC with service accounts and cluster roles for secure access control
devopsSetup Caddy with Consul service discovery for dynamic load balancing
Configure Caddy web server to automatically discover backend services through Consul, enabling dynamic load balancing without manual configuration updates. This setup provides high availability and automatic failover for microservices architectures.
Setup Tomcat 10 clustering with HAProxy load balancing for high availability
Configure Apache Tomcat 10 clustering with HAProxy load balancing to distribute traffic across multiple application server instances. Implement session replication and automatic failover for production-grade Java web applications with high availability and zero-downtime deployments.
Set up Node.js application security with Helmet and rate limiting
Secure your Node.js Express applications against common vulnerabilities with Helmet.js middleware and implement rate limiting to prevent abuse and DDoS attacks.
Configure GitLab SAML authentication with Keycloak for enterprise SSO
Set up single sign-on (SSO) authentication between GitLab and Keycloak using SAML 2.0 protocol. This enables centralized user management and secure authentication for your GitLab instance through your existing identity provider infrastructure.
Deploy Django application with Gunicorn and PostgreSQL database migrations
Learn how to deploy a production-ready Django application with Gunicorn WSGI server, PostgreSQL database, and automated database migrations on Ubuntu, Debian, AlmaLinux, and Rocky Linux systems.
Configure Linux environment variables and PATH management for development workflows
Learn how to properly configure Linux environment variables and manage your PATH for development workflows. This guide covers temporary and persistent variables, user vs system-wide configuration, and troubleshooting common issues across Ubuntu, Debian, AlmaLinux, Rocky Linux, and Fedora.
Configure Linux user session limits with systemd and pam_limits for resource management
Set up comprehensive user session resource limits using systemd and PAM to prevent resource exhaustion, fix 'too many open files' errors, and enforce memory, CPU, and process restrictions for better system stability.
Install and configure Gunicorn application server with systemd and reverse proxy for Python web applications
Deploy Python web applications in production using Gunicorn WSGI server with systemd service management and Nginx reverse proxy. Includes performance tuning, security hardening, and monitoring setup.
Optimize HAProxy performance with connection pooling and advanced load balancing algorithms
Configure HAProxy with connection pooling, advanced load balancing algorithms, and performance tuning for high-throughput workloads. Learn to implement least-conn, URI hashing, and buffer optimization.
Set up BGP routing with FRRouting for dynamic network routing and failover
Configure BGP routing with FRRouting to implement dynamic network routing, automatic failover, and high availability for enterprise network infrastructure with route filtering and policy management.
Configure Linux system resource limits with systemd and ulimit for application performance
Learn to configure Linux system resource limits using systemd, ulimit, and /etc/security/limits.conf to prevent application failures from resource exhaustion. Master per-user, per-service, and system-wide limits for optimal performance.
Optimize Linux system performance with kernel parameters and system tuning
Learn production-grade Linux performance optimization through systematic kernel parameter tuning, memory management, I/O optimization, and network stack configuration to maximize system throughput and responsiveness.
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 06:23 · reachable in a message, no ticket form