Skip to content

0002 — docker-compose, not Kubernetes

  • Status: accepted
  • Date: 2026-05-01

Context

The application (ADR 0001) is deployed on a single VPS. A way to orchestrate the containers (web, database, background worker, reverse proxy) has to be chosen.

Decision

We use docker-compose. Kubernetes / k3s is not used.

Consequences

Upsides:

  • For a single node compose is sufficient and simple: the stack is described in one file, the commands are obvious.
  • Container auto-restart is provided by restart: unless-stopped — on a single node that is "self-healing".
  • Minimal overhead: the orchestrator does not eat the resources the application needs.

Downsides / the cost:

  • No automatic scaling across several nodes and no cluster-level fault tolerance. For one VPS that is irrelevant.

On a single node Kubernetes is over-engineering: the orchestrator would consume more resources than the application itself, and "self-healing" on the only node is exactly what restart: unless-stopped gives.