The-Y CRM · Self-hosting

Which server do I need?

This page tells you which server size you need for which usage — with a clear recommendation, so you buy neither too small (stutters, calls drop) nor unnecessarily large.

In short: The-Y CRM already runs on a small 4 GB server. What really drives the requirement is telephony with many concurrent calls + recording and large marketing sendsnot the number of your contacts. Most companies do great with "Medium" (4 vCPU / 8 GB).

1. Minimum (just to get it running)

ResourceMinimumNote
CPU2 vCPU1 vCPU is only good for a look, not real operation
RAM4 GBBelow that the kernel kills services under load spikes (build/marketing)
Disk40 GB SSDSystem + images + DB + first attachments. HDD not recommended (Postgres + object store want IOPS)
OSLinux + Docker & Docker Composetested on Debian/Ubuntu
Networkstatic IP recommendedrequired for the built-in phone system (see §5)

That starts the full stack: app, worker, postgres, redis, minio — plus optional asterisk, coturn, piper for the built-in phone system and caddy for automatic HTTPS. The installer sets all of it up with one command.

2. What each service costs

ServiceWhat forRAM (idle → load)Driver
appWeb UI + API0.4 → 1.5 GBconcurrent users
workerEmail fetch, marketing, reminders, call post-processing0.25 → 1 GBmarketing size, mailboxes
postgresall data0.5 → 1.5 GBdata volume + reports
redisjob queue~0.1 GB
minioattachments, recordings, voicemail~0.25 GBfile volume (disk!)
asteriskphone system0.2 GB → per callconcurrent calls
coturnaudio relay (NAT)~0.1 GBcalls over difficult networks
piperneural announcement voice (TTS)0.2 → 0.5 GBonly when voicing prompts

Rule of thumb: contacts/companies/deals are almost free for the server (database rows). What grows is disk space (attachments/recordings) and CPU/bandwidth (concurrent calls).

3. Recommended sizes by usage

Pick the column where your highest number lands — one big number is enough to move you up a tier.

SmallMediumLarge
Server2 vCPU · 4 GB · 40 GB SSD4 vCPU · 8 GB · 80–160 GB SSD8+ vCPU · 16–32 GB · 200+ GB NVMe
Concurrent usersup to ~5~5–2020–50+
Emails / dayup to ~500~500–3,0003,000+
Concurrent calls1–25–1020+
Call recordinglightyesconstant
Marketing / monthup to ~2,000~10–20,00050,000+
Good forsolo office, startgrowing teamcall center / multiple brands
Important about "concurrent calls": what counts is not how many calls per day, but how many run at the same time. 200 calls/day but never more than 3 in parallel = Small/Medium.
Our clear recommendation
Most companies: "Medium" — 4 vCPU / 8 GB / 80–160 GB SSD. Comfortable headroom for team, reports, marketing and ~5–10 parallel calls with recording.
Only CRM + email + web chat (barely any phone): "Small" is plenty. · Serious call center: "Large", and then keep telephony and database on separate servers (§6).

4. Plan disk space realistically

The disk is what fills up over time — plan it more generously than RAM:

Rule of thumb: base 40 GB + estimated recording/attachment growth × 12 months + reserve. With a lot of recording, plan 160–200 GB. Old recordings/attachments can be offloaded/deleted later.

5. Telephony needs more than compute

If you use the built-in phone system, network requirements are added:

6. Email sending: outbound ports (the most common cloud pitfall)

The CRM sends email (password reset, notifications, marketing) via your SMTP mailbox — i.e. outbound connections to port 587 (or 465/25). Many cloud/VPS providers block these outbound mail ports by default as anti-spam (incl. Hetzner, netcup, DigitalOcean, AWS/GCP/Azure).

Symptom: email sending fails with "Connection timeout", even though credentials are correct. Receiving via IMAP (993) is usually NOT blocked → only sending hangs.
Check (from the server): nc -zv your-mailserver 587 — timeout = blocked.
Fix 1 (usually easiest): open a support ticket with your provider to "unblock outbound SMTP ports 587/465" (with your server IP; no bulk mail). For legitimate use this is generally granted.
Fix 2: use a transactional email service over HTTPS/port 443 — 443 is never blocked.

On your own/company connection this usually doesn't happen; there the static IP is the topic (§5).

7. When to split (scale-out)

A single server carries far. Only real call-center volume makes splitting worthwhile:

  1. First postgres onto its own server (or managed Postgres) — the DB is the most valuable, IO-sensitive part.
  2. Then asterisk + coturn onto their own telephony host — so call load never disturbs the web app.
  3. minio can point to external S3 storage when recordings/attachments get large.

8. Operations & backups

Quick decision
"Just a CRM + mailbox + chat for a small team" → Small (2/4/40).
"Team, reports, marketing, occasional calls with recording" → Medium (4/8/160) — our standard recommendation.
"We're on the phone all day / call center" → Large (8+/16–32/NVMe), split telephony & DB later.
When in doubt, start one tier larger — adding RAM/disk later is more annoying than having reserve from the start.

Ready?Go to the installation guide (one command, no config files) · Questions? Contact us.