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 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 Ollama for local AI models on Linux servers
devopsInstall and configure Uptime Kuma for website monitoring with SSL and email alerts
monitoringRecently published
Implement NGINX Plus active health checks for enterprise environments
hostingSetup Prometheus Blackbox Exporter for endpoint monitoring with SSL and alerting
monitoringConfigure Prometheus alerting with AlertManager notifications and webhook integration
monitoringConfigure Elasticsearch cross-cluster replication for disaster recovery
databasesConfigure InfluxDB 2.7 clustering for high availability with data replication and automated failover
databasesImplement 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.
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.
Integrate OpenTelemetry with ELK stack for unified observability and distributed tracing
Set up a comprehensive observability stack by integrating OpenTelemetry Collector with Elasticsearch, Logstash, and Kibana for distributed tracing, metrics collection, and unified monitoring across microservices and applications.
Set up multi-location monitoring with distributed Uptime Kuma instances
Deploy multiple Uptime Kuma instances across different geographic locations to monitor your services from various vantage points. This setup provides comprehensive monitoring coverage, reduces false positives, and enables regional performance analysis with centralized alerting.
Configure Node.js JWT authentication with Redis session storage and security hardening
Set up secure JWT authentication for Node.js applications with Redis session storage, security middleware, and production-ready hardening practices.
Set up OpenTelemetry metrics collection with Prometheus integration for distributed system monitoring
Configure OpenTelemetry Collector to gather metrics from distributed services and export them to Prometheus for comprehensive observability monitoring. This integration provides unified metrics collection across your microservices architecture.
Optimize CockroachDB 24.3 performance with advanced tuning and configuration
Master advanced CockroachDB 24.3 performance optimization through memory, CPU, storage, and query tuning. Configure cluster parameters, connection pooling, and indexing strategies for production-grade distributed SQL workloads.
Set up distributed tracing for Node.js and Python microservices with OpenTelemetry and Jaeger
Configure end-to-end distributed tracing across Node.js and Python microservices using OpenTelemetry instrumentation and Jaeger backend with Elasticsearch for centralized trace collection and analysis.
Implement OpenTelemetry distributed context propagation across microservices with automatic instrumentation
Set up comprehensive distributed tracing across microservices using OpenTelemetry with automatic context propagation, trace correlation headers, and framework-specific auto-instrumentation for Python, Java, and Node.js applications.
Configure Varnish cache invalidation with automated purging strategies for high-performance web acceleration
Learn to configure advanced Varnish VCL for cache invalidation, implement PURGE and BAN strategies, and set up automated cache tagging for optimal performance. Master selective invalidation techniques and monitoring for production-grade web acceleration.
Configure Node.js application logging with Winston and log rotation for production
Set up Winston logger with structured JSON logging, multiple transports, and automated log rotation using winston-daily-rotate-file for production Node.js applications. Configure comprehensive error handling and log management best practices.
Setup 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.
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