Cutter 8
- vCPU
- 4 × dedicated
- RAM
- 8 GB
- Storage
- 160 GB NVMe SSD
- Transfer
- 10 TB
- IPv4 / IPv6
- 1 / /64 routed
Solution
Docker needs a real kernel, which means KVM rather than an OpenVZ or LXC container. Two dedicated cores and 4 GB run a handful of small services; 8 GB is the comfortable point for a full Compose stack with a database. Every OnionVPS instance is KVM, so overlay filesystems, cgroups v2, nested virtualisation and custom kernels all work without workarounds.
| Resource | What you actually need |
|---|---|
| CPU | 2 dedicated cores minimum; containers multiply quickly |
| RAM | 4 GB for a few services, 8–16 GB for a Compose stack with Postgres |
| Disk | NVMe — image layers and database writes are IO-bound |
| Kernel | KVM with cgroups v2, overlay2 and nested virtualisation |
Location is usually the decision that matters most for this workload — either because latency dominates, or because jurisdiction does.
Both ship recent kernels with cgroups v2 by default.
The distribution package is usually several versions behind.
Or use rootless mode if the containers do not need privileged access.
Caddy or Traefik will obtain and renew TLS certificates automatically.
Free, instant, and it turns a failed deployment into a rollback.
On a KVM VPS, yes, without restriction. On OpenVZ or LXC-based virtual servers, Docker either fails or requires unsafe workarounds, because those share the host kernel. Every OnionVPS instance is KVM.
Yes. You can run KVM guests, Docker-in-Docker, or a Kubernetes cluster inside your instance.
Sum the memory limits of your containers and add 1 GB for the host. A typical web application, worker and Postgres stack fits in 8 GB.