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 Ollama for local AI models on Linux servers
devopsInstall and configure Uvicorn ASGI server with systemd and reverse proxy for FastAPI applications
hostingInstall and configure Uptime Kuma for website monitoring with SSL and email alerts
monitoringRecently published
Setup Node.js error tracking with Sentry for production monitoring and debugging
monitoringImplement Node.js application monitoring with Prometheus metrics and Grafana dashboards
monitoringImplement OSPF multi-area design with FRRouting and advanced routing policies
networkingConfigure Istio security policies with external authorization services integration
securityImplement Docker network security with custom bridge networks and container isolation
securityFix apt update E: Repository no longer has a Release file
Resolve apt update errors when repositories lose Release files due to expired GPG keys, discontinued repos, or corrupted package manager state. Includes diagnostics, recovery methods, and prevention strategies.
Configure Linux container memory limits and monitoring with systemd and cgroups v2
Set up memory limits and monitoring for containers using systemd services and cgroups v2 to prevent OOM kills and track resource usage.
Configure Linux package management with apt, dnf and yum for system updates
Learn to manage Linux packages effectively with apt, dnf, and yum across Ubuntu, Debian, and RHEL-based distributions. Master installation, updates, repository management, and troubleshooting for reliable system maintenance.
Set up ELK stack alerting with Watcher and email notifications for monitoring and incident response
Configure Elasticsearch Watcher to monitor log data and automatically send email alerts when critical system events occur. Create sophisticated alert conditions, manage email notification templates, and set up automated incident response workflows.
Configure intrusion detection with OSSEC and Wazuh for real-time security monitoring
Set up comprehensive host-based intrusion detection with OSSEC HIDS and Wazuh manager for real-time security monitoring, file integrity checking, and automated threat response across your infrastructure.
Implement 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.
Monitor Django applications with Prometheus and Grafana for comprehensive performance insights
Set up comprehensive Django application monitoring using Prometheus metrics collection and Grafana dashboards. Configure django-prometheus middleware to track request metrics, database queries, and application performance with real-time alerting.
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.
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 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.
Integrate MinIO with Prometheus monitoring for performance metrics and observability
Set up comprehensive monitoring for your MinIO object storage cluster with Prometheus metrics collection, Grafana visualization dashboards, and automated alerting rules for production environments.
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