Skip to main content
Photo of Anton ShubinAnton ShubinSenior Full-Stack Engineer & Tech Lead

How I run production

Founders should not need to manage infrastructure. They should know how product risk is controlled, what happens when something fails, and whether another team can take over cleanly.

See it running

All three answered when I checked. The CI link opens a public repository's pipelines, because the root asks for a GitHub sign-in. (checked 30 Sep 2026)

A red tile on the status page means something is down now, and you see it when I do.

How the pieces connect

My own servers run on reusable infrastructure as code, Deno deployment automation, Docker Compose, and Traefik for TLS and routing. Every box is a link, and every arrow is a fact I can point to.

Your cloud is fine too

There is no universal template. The recommendation follows the workload, the team, compliance, recovery and budget.

  • Self-hosted

    Open-source and self-hostable by default, for cost discipline, performance, portability, and auditability. Dedicated hardware when the workload justifies it: single-tenant CPU, NVMe, predictable cost.

  • Managed cloud

    AWS, GCP, Supabase, and friends when they remove meaningful operational risk, satisfy compliance needs, or let a small team move faster.

    For a client: SmartLite

    Built solo in 3 months; about 200 lamp poles in production since 2024. It runs on AWS. Read the case study

  • Hybrid

    Managed services where they remove risk, stable workloads on dedicated hardware where control and capacity matter more.

Managed cloud, dedicated, or hybrid: how I weigh the cost

How risk is controlled

Handing it over

Docker Compose, Traefik, Authelia, versioned config in git

Configuration and deployment logic stay versioned rather than living as undocumented server steps, so another team can take over without asking one operator. There are four machines: a Hetzner Cloud server in Germany for the public services, a home lab in Singapore, a mini PC that travels with me, and a Raspberry Pi in another country that keeps the offsite backups. Authelia provides centralized SSO and 2FA, and Traefik handles TLS and routing. Access stays explicit, with boundaries another team can read.

Where to check: rostok, the scaffolder I deploy with · Not public: the configuration names internal services.

rostok: scaffold a self-hosted homelab

Backups I can restore

restic

Restic backups run with integrity checks, retention policies, and a written restore procedure. Recovery is part of the system's design, not a command to research for the first time during an incident.

Where to check: Not public: backups hold client and personal data. Restore last tested on 30 September 2026.

Knowing when it breaks

Gatus, zond, VictoriaMetrics

Gatus checks service health and VictoriaMetrics records operational signals. Zond lets Gatus check services that sit behind an SSO proxy. Customer-facing availability stays separate from the deeper measurements, so a failure arrives with diagnostic context.

Where to check: The status page (opens in a new tab)

zond: a probe bridge so Gatus can see through your SSO proxy

Deploys and builds

Woodpecker, Docker Compose

A release follows a documented, repeatable path instead of one person's memory. Woodpecker builds the repositories, and the deploy is a versioned script.

Where to check: The pipelines (opens in a new tab)

  • You own everything from day one

    Code, accounts, servers and keys are in your name.

  • A small first milestone

    We start with one or two weeks of work. If either of us wants to stop at the end of it, we stop — you keep everything built so far.

If you want this for your product

  • Build: MVP

    From $8,000

    I build your product from idea to live deployment. Backend APIs, AI integration and MCP servers are built the same way.

    See what is included
  • Ongoing

    $150/hour or from $3,000/month

    Ongoing technical leadership and post-launch support, hourly or on a monthly retainer.

    See what is included