Self-Hosting and Infrastructure Guides

Running your own servers means owning the pieces a managed platform hides: images, databases, certificates, backups and networking. These guides cover each piece with concrete setup and the trade-offs involved.

40 posts

16 min read
By David Viejo

Build PostgreSQL backups for Docker with pg_dump, S3-compatible storage, retention, monitoring, and restore tests that exercise the recovery path.

11 min read
By David Viejo

Run Redis in Docker for production: auth, AOF/RDB persistence, memory policy, network isolation and S3 backups — or let Temps manage it on your server.

14 min read
By David Viejo

Run containers across 2-10 servers without Kubernetes: scheduling, health checks, private networking and rolling updates vs Docker Swarm and k3s.

14 min read
By David Viejo

8 SaaS tools you can replace with self-hosting in 2026: Vercel, Sentry, Plausible, FullStory, Pingdom and more, what each costs, and which ones Temps bundles.

14 min read
By David Viejo

Dokploy alternatives for 2026: Temps, Coolify, CapRover, Dokku, Kamal and Easypanel, compared on licence, pricing, multi-server support and observability.

18 min read
By David Viejo

A 15-step VPS security checklist for Ubuntu 24.04 and Debian 12: SSH keys, a firewall Docker can't bypass, auto-updates, fail2ban, TLS, tested backups.

8 min read
By David Viejo

Fly.io has no free tier and no monthly fee: Machines from $2.19/mo, Managed Postgres from $38/mo, volumes $0.15/GB. Real rates and what a full stack costs.

11 min read
By David Viejo

Move from Coolify to Temps by hand: redeploy the same Docker Compose project, copy the database, cut DNS over without downtime and verify with a checklist.

13 min read
By David Viejo

Temps issues TLS certificates on demand at the first handshake for sslip.io and wildcard-DNS subdomains — no pre-provisioning and no DNS control required.

12 min read
By David Viejo

Coolify runs single-container Postgres; Temps adds pg_auto_failover HA, WAL-G backups and multi-node clustering. Coolify still wins on templates and community.

9 min read
By David Viejo

Run migrations once per release, not in the start command: expand/contract, which tools take a lock, and how to run them as a one-off step on a Temps server.

11 min read
By David Viejo

Self-hosted PostgreSQL high availability with pg_auto_failover: automatic failover, multi-host connection strings, optional role-aware DNS and WAL-G backups.

15 min read
By David Viejo

How Temps resolves *.temps.local for HA databases and multi-node apps with a per-node Hickory resolver: an opt-in CoreDNS alternative without Kubernetes.

9 min read
By David Viejo

Log in to the Temps CLI with an OAuth 2.0 device flow: run login <url>, approve in the browser, then switch between self-hosted servers with named contexts.

11 min read
By David Viejo

Set track_opens and track_clicks on the Temps send API for a tracking pixel, rewritten links, and a per-event timeline — no SendGrid needed.

10 min read
By David Viejo

Migrate TimescaleDB between Docker containers safely: the pg_dump pre/post-restore path, the timescaledb-ha volume-path trap, and verifying hypertables.

12 min read
By David Viejo

Temps 0.0.7 ships Docker Compose deployments, an Edge CDN proxy, content-addressable storage, container exec, email tracking and three CLI deploy commands.

12 min read
By David Viejo

Deploy Next.js to a VPS step by step: Node.js 24, PM2, Nginx, Let's Encrypt and GitHub Actions, plus the monitoring most guides skip and a self-hosted option.

10 min read
By David Viejo

What actually happens between git push and your app being live: webhook delivery, build queues, health checks and the traffic swap, explained step by step.

18 min read
By David Viejo

Blue-green, rolling and canary deploys compared, with a Docker Compose and Nginx walkthrough, database migration patterns and a load test proving no drops.

12 min read
By David Viejo

Traditional cron fails silently in Docker — no logs, no env vars, zombie processes. The HTTP endpoint pattern with auth, monitoring and secret injection.

12 min read
By David Viejo

Preview environments burn money overnight. The wake-on-request proxy pattern with connection buffering and cold start optimization cuts idle cost to $0.

11 min read
By David Viejo

BuildKit emits gRPC, not stdout. The three-layer pipeline that gets Docker build output into a browser: BuildKit gRPC to WebSocket, with ANSI colour parsing.

12 min read
By David Viejo

Scan Docker images for CVEs with Trivy after every deploy and daily: severity triage, a SHA-pinned GitHub Actions setup, and alerts for critical findings.

12 min read
By David Viejo

Replace SendGrid for password resets and magic links: SPF, DKIM and DMARC, AWS SES vs an SMTP relay, and sending through Temps SES, Scaleway or SMTP.

12 min read
By David Viejo

Set up preview environments for every pull request: a DIY webhook, Docker and Traefik pipeline, or one toggle in Temps. Compared with Coolify and Vercel.

11 min read
By David Viejo

One bad UPDATE without a WHERE clause takes down production. Read-only roles, query sandboxing, row limits, and audit trails for safe database access.

12 min read
By David Viejo

Most platforms have no audit log until compliance demands one. Event schemas, immutable storage, retention policies and the query patterns SOC 2 needs.

12 min read
By David Viejo

MinIO community edition is archived. Your options for self-hosted S3-compatible storage (RustFS, Garage), R2 and B2 costs, and keeping presigned uploads working.

17 min read
By David Viejo

SSH is the most attacked service on an exposed server. Install Tailscale, close port 22 and expose only 80 and 443 — with Hetzner and Vultr costs compared.

12 min read
By David Viejo

Deploy Next.js without Vercel: Temps, Railway, Docker on a VPS or Cloudflare Workers, with deploy commands, 2026 pricing and honest trade-offs for each.

16 min read
By David Viejo

Move a Next.js app off Vercel step by step: export environment variables, swap @vercel/ imports, update DNS. Two paths, 15 minutes or a couple of hours.