Layer 5 · self-hosting reality check
What it actually takes to self-host Nextcloud Talk
The docs say 128 MB per PHP process (512 MB recommended), which is Nextcloud's own minimum; Talk runs inside it. The high-performance backend (signaling server, Janus, NATS, TURN) publishes no RAM figure. In practice you want 4 GB for Nextcloud plus the Talk backend container on one box. Here is the honest version — real requirements, real monthly cost, what you will be maintaining, and the one thing that catches people out.
Usually reached from Zoom alternatives, where Nextcloud Talk is one of the picks.
Wondering whether you need to at all? Is Zoom free? — what the free tier actually allows, and where the wall is.
| RAM — documented minimum | 128 MB per PHP process (512 MB recommended), which is Nextcloud's own minimum; Talk runs inside it. The high-performance backend (signaling server, Janus, NATS, TURN) publishes no RAM figure |
|---|---|
| RAM — what it really needs | 4 GB for Nextcloud plus the Talk backend container on one box |
| CPU | 2 vCPU. With the high-performance backend, the Janus media server forwards every stream, so a busy call shows up as CPU and bandwidth on your server instead of on participants' phones |
| Disk | Whatever your Nextcloud already needs. Chat history and shared files land in the same storage, and the optional recording server writes real video files, so size for those if you record calls. |
| Monthly cost | $12–24/mo on a 4 GB VPS for Nextcloud with the Talk backend, plus bandwidth: with the high-performance backend every video stream passes through your server, so each extra participant adds traffic, and on a metered plan that shows up on the bill |
| Setup time | 30 minutes to switch Talk on in an existing Nextcloud AIO; a day or more to hand-build the signaling server, Janus, NATS and TURN on a manual install |
| How you install it | Nextcloud All-in-One: enable Nextcloud Talk, which adds one container with the signaling server, Janus, NATS and a TURN server, then open port 3478 TCP and UDP. Manual installs build strukturag/nextcloud-spreed-signaling and its dependencies themselves |
| Ongoing maintenance | On AIO the Talk container updates with the rest of the stack. On a manual install the signaling server, Janus, NATS and TURN are separate things you patch yourself. Re-test a three-person call after every major Nextcloud upgrade and every firewall change. |
| Where it stops scaling | Two people comfortably without the high-performance backend. With it, the Talk docs say a call typically scales to 30–50 active participants and allows hundreds of passive viewers. |
The thing that catches people out
Without the high-performance backend, Talk is peer-to-peer: each person uploads their own video separately to every other person. Talk's own admin page warns that calls with more than 2 participants will most likely have connectivity issues and put a high load on participants' devices. By the docs' math (about 1 Mbit/s per stream), a 5-person call needs roughly 4 Mbit/s up and down on every phone. Install the backend before your first team call. AIO bundles it; a manual install does not.
When not to self-host Nextcloud Talk
You don't already run Nextcloud, or it sits behind a Cloudflare Tunnel. The AIO docs say the built-in TURN server won't work through the tunnel because it needs its own open port. If all you want is video calls, Jitsi Meet is a smaller thing to run.
Every guide here carries this section. A site that only ever tells you to self-host is selling something — the useful answer is sometimes no.
Other Layer 5 self-hosting guides
- Self-hosting LibreOffice2 GB with a large spreadsheet open
- Self-hosting ONLYOFFICE6 GB for the Document Server with a handful of concurrent editors
- Self-hosting Collabora Online4 GB, and roughly 1 GB per 20 concurrent documents
- Self-hosting CryptPad2 GB for a small instance
- Self-hosting Mattermost4 GB for a team of 50 with PostgreSQL on the same box
- Self-hosting Rocket.Chat6 GB with MongoDB on the same machine
Common questions
- How much RAM does Nextcloud Talk actually need?
- 4 GB for Nextcloud plus the Talk backend container on one box in practice. The documented minimum is 128 MB per PHP process (512 MB recommended), which is Nextcloud's own minimum; Talk runs inside it. The high-performance backend (signaling server, Janus, NATS, TURN) publishes no RAM figure, which is the figure at which the process starts rather than the figure at which it works under real use. 2 vCPU. With the high-performance backend, the Janus media server forwards every stream, so a busy call shows up as CPU and bandwidth on your server instead of on participants' phones alongside it.
- What does self-hosting Nextcloud Talk cost per month?
- $12–24/mo on a 4 GB VPS for Nextcloud with the Talk backend, plus bandwidth: with the high-performance backend every video stream passes through your server, so each extra participant adds traffic, and on a metered plan that shows up on the bill This is commodity VPS pricing and excludes your time, which is the larger cost for most people — budget for on AIO the Talk container updates with the rest of the stack. On a manual install the signaling server, Janus, NATS and TURN are separate things you patch yourself. Re-test a three-person call after every major Nextcloud upgrade and every firewall change.
- How long does it take to set up Nextcloud Talk?
- 30 minutes to switch Talk on in an existing Nextcloud AIO; a day or more to hand-build the signaling server, Janus, NATS and TURN on a manual install, via Nextcloud All-in-One: enable Nextcloud Talk, which adds one container with the signaling server, Janus, NATS and a TURN server, then open port 3478 TCP and UDP. Manual installs build strukturag/nextcloud-spreed-signaling and its dependencies themselves.
- When should I NOT self-host Nextcloud Talk?
- You don't already run Nextcloud, or it sits behind a Cloudflare Tunnel. The AIO docs say the built-in TURN server won't work through the tunnel because it needs its own open port. If all you want is video calls, Jitsi Meet is a smaller thing to run.
- What is the most common mistake when self-hosting Nextcloud Talk?
- Without the high-performance backend, Talk is peer-to-peer: each person uploads their own video separately to every other person. Talk's own admin page warns that calls with more than 2 participants will most likely have connectivity issues and put a high load on participants' devices. By the docs' math (about 1 Mbit/s per stream), a 5-person call needs roughly 4 Mbit/s up and down on every phone. Install the backend before your first team call. AIO bundles it; a manual install does not.