Tutorials
Self-Host Uptime Kuma and Beszel on a VPS with Docker Compose
Deploy Uptime Kuma for external uptime monitoring and Beszel for lightweight server metrics on a single VPS. Docker Compose setup with notifications, alerts, status pages, and security hardening.
Self-Host Immich on a VPS with Docker Compose
Deploy Immich on a VPS as a self-hosted Google Photos replacement. Covers Docker Compose setup, mobile app backup, storage planning with real numbers, machine learning on CPU, database backup and restore, and a safe update workflow.
Self-Host Vaultwarden on a VPS with Docker Compose
Deploy a hardened Vaultwarden password manager on your VPS. Covers Docker Compose with read-only containers, fail2ban, SMTP for 2FA, backup and restore, and emergency access.
Self-Host Gitea on a VPS with Docker Compose
Deploy a production-ready Gitea instance with PostgreSQL, SSH passthrough on port 22, Gitea Actions CI/CD, Git LFS, GitHub mirroring, and automated backups. All on a single VPS with Docker Compose.
Self-Host Paperless-ngx on a VPS with Docker Compose
Deploy Paperless-ngx on a VPS with Docker Compose, PostgreSQL, and Redis. Configure OCR languages and modes, set up automatic tagging rules, email consumption, and a production backup strategy with offsite sync.
Self-Host Hermes Agent on a VPS
Deploy Nous Research's Hermes Agent on your own VPS. Create a locked-down user, install with one command, pick your LLM provider, wire up Telegram, and run it as a service.
Build and Self-Host a Custom MCP Server on a VPS
Build a TypeScript MCP server from scratch, deploy it on a VPS with systemd, and run it behind Nginx with TLS. Connect Claude Desktop, Claude Code, and Cursor to your self-hosted server.
Run Claude Code on a VPS: Install, Secure, and Persist Sessions
Set up Claude Code on a remote Linux server with headless authentication, tmux session persistence, and proper security hardening. Complete setup guide.
Install n8n with Docker Compose on a VPS
Set up n8n 2.x with Docker Compose and PostgreSQL on a VPS. Production-ready from the start with pinned versions, encryption key backup, health checks, and resource limits.