Skip to main content

Server Requirements

CPU

CPU idles most of the time, but when it's needed — a build, a backup, a Docker image pull — it matters. Enough CPU makes the system feel responsive during those moments rather than grinding. 2 vCPU is sufficient for low traffic; 4 vCPU gives comfortable headroom so a larger task can run fast without impacting other services.

Memory

Memory is the real constraint. Each service runs as a Docker container with its own process — a knowledge base, a design tool, a git server, and an AI interface can collectively idle at 4–6 GB. 4 GB is the minimum to get started; 12 GB lets you run several services without pressure.

Given how easy Coolify makes it to spin up new services, you quickly arrive at 6-8 services within a few hours of clicking around — so starting with more than the minimum is a sensible default. And if services are actually under load, you'll want a buffer on top of that.

Disk

There are two distinct storage types, each suited to different concerns.

Block storage

Block storage works like a disk — a filesystem that processes read and write to directly. There are two kinds:

Ephemeral (OS disk) — tied to the instance. Holds the operating system and Docker tooling; 10–20 GB is enough. If the instance is terminated, this goes with it. Keep it small and separate from data.

Persistent volume — a separate block device attached to the instance. This is where Docker images, container volumes, and all service data live. Docker images alone can be 1–2 GB each; with 5–10 services you fill up fast. A persistent volume can be expanded independently and reattached to a new instance if needed — which is why keeping it separate from the OS disk matters.

Object storage

Object storage is different — you store and retrieve files via an API rather than a filesystem. Files are organized into buckets (OpenStack calls them containers). There is no disk to resize; capacity scales automatically and you pay for what you use.

This makes it the right fit for large binaries that accumulate over time: Nextcloud files, Penpot assets, database dumps, and backups. Offloading these keeps the persistent volume lean and avoids resizing it as data grows. Most providers offer S3-compatible object storage; Infomaniak's Swiss Storage is a values-aligned option.

Scaling, backups & extras

Before committing to a provider, check two things:

Scaling — can you resize the VM to a larger plan without rebuilding from scratch? Most providers support this, but not all do it cleanly. Ideally it's a one-click operation from the control panel with minimal downtime.

Backups — does the provider include automated VM snapshots, and how far back do they go? This is a safety net for infrastructure-level failures, separate from the application-level backups you manage yourself. Some providers include it in the plan; others charge extra.

Extras — some providers bundle capabilities worth factoring in: DDoS protection at the network level, an external firewall managed from the control panel (simpler than OS-level rules), and OpenStack API access for more advanced setups like additional networks, private object storage, or managing multiple servers programmatically.

Summary

Server size should match usage intent — don't over-provision, but don't cut corners either. A server running 3 services for a handful of users has very different needs than one running 10 services for an entire organisation.

RequirementMinimumTested
OSDebian 13 TrixieDebian 13 Trixie
CPU2 vCPU4 vCPU
RAM8 GB12 GB
OS disk20 GB20 GB
Data disk100 GB250 GB
Estimated services4–88–12