Tutorials
In-depth technical tutorials, guides, and infrastructure best practices.

How to Install SigNoz on a Dedicated Server with Docker and OpenTelemetry
Set up SigNoz on a dedicated server to collect logs, metrics, and traces in one place. This guide shows you how to deploy it with Docker and send app data using OpenTelemetry.

How to Self-Host Headscale on Ubuntu and Connect Linux, macOS, and Mobile Nodes
Build your own private mesh network with Headscale on Ubuntu. This guide shows you how to install it and connect Linux, macOS, and mobile devices to your own server.

How to Install PocketBase on Ubuntu with systemd, Caddy, and Automatic HTTPS
Deploy PocketBase reliably on Ubuntu by running it as a systemd service and placing Caddy in front as a reverse proxy. With a valid domain pointed at the server and ports 80/443 reachable, Caddy automatically provisions, renews, and enforces HTTPS.

Install Nginx Proxy Manager with Docker Compose and Let's Encrypt on Ubuntu
Learn to install Nginx Proxy Manager on Ubuntu with Docker Compose to manage reverse proxies and free Let’s Encrypt certificates through a web interface.

Cloudflare Tunnel Troubleshooting: DNS, 502 Errors & WebSockets
Fix Cloudflare Tunnel issues by checking the origin service, DNS record, tunnel logs, and WebSocket settings.

How to Back Up Docker Volumes to S3 or MinIO with Restic on a Linux VPS
Back up Docker volumes securely with Restic by storing encrypted snapshots in S3 or MinIO and automating backups with a schedule.

RabbitMQ Troubleshooting: Memory, Disk, Connections & Consumers Errors
Learn to fix RabbitMQ issues by checking memory and disk alarms, restoring slow consumers, and reviewing connection and queue status.

Migrate Promtail to Grafana Alloy Without Breaking Loki Logs
Safely migrate Promtail to Grafana Alloy by converting its config, testing log delivery, then switching off Promtail.

MinIO Troubleshooting: Proxy, TLS, Console & S3 Signature Errors
Fix MinIO proxy errors by keeping the original Host header, setting the correct public URLs, and checking TLS plus API/console ports.

How to Expose a Self-Hosted App Securely with Cloudflare Tunnel on a VPS
Securely expose a VPS app with Cloudflare Tunnel by mapping a hostname to your local service and protecting it with Cloudflare Access, without opening inbound ports.

PostgreSQL Backup Restore Drill: Verify pgBackRest Before Disaster Strikes
Verify pgBackRest backups with pgbackrest verify, then regularly restore to a separate test instance to confirm recovery works.

How to Install Gitea with Docker Compose and Add a Self-Hosted Actions Runner
Install Gitea with Docker Compose, enable Actions, then register a self-hosted runner with a token from the admin panel.