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 sends — not 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, if you want, asterisk and coturn for the built-in phone system (since 1.1.58 the installer asks), caddy for automatic HTTPS and, since 1.1.42, optionally translate for translation in the inbox. 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), only up to 1.1.50; no longer needed from 1.1.51, announcements are your own recordings0.2 → 0.5 GBonly when voicing prompts
translate (optional)translation in the inbox on your server (LibreTranslate)0.1 → 0.9 GB (German/English/Turkish), each further language +0.2–0.4 GB; hard limit 1.5 GBbursts while translating, number of languages

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).

Translation (optional, from 1.1.42): the translate service translates in the inbox on your own server, without internet access. Plan up to 1.5 GB RAM extra for it (German/English/Turkish need up to ~0.9 GB) and ~0.6 GB disk once for the language models (plus ~0.6 GB for the image). How to switch it on, and the compose blocks for installations from before 1.1.42: Self-hosting operations → Translation. Without the service, translation works with your own AI or DeepL key.

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. Without a paid key at most 2 simultaneous calls are possible.
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.