# Server and system requirements

> Pick a server for Broadcast. Learn the operating system, the minimum and recommended RAM, CPU and disk, and why there is no Redis to run.

Source: https://sendbroadcast.net/university/getting-started/server-requirements

Broadcast runs on a server that you rent and control. In this lesson you choose that server: the operating system, the size, and the provider. You also learn what the server does not need, which saves you work later.

## The operating system

Use a fresh install of **Ubuntu 24.04 or Ubuntu 26.04, server edition**. The automatic installer checks this first and stops on anything else. If you try it on Debian, for example, it prints `Broadcast needs Ubuntu Server 24.04 or 26.04` and changes nothing.

"Fresh" is important. The installer needs ports 80 and 443 for itself, because Broadcast serves HTTP and HTTPS directly. A server that already runs nginx or Apache on those ports fails the check. Give Broadcast a server of its own.

## How big a server

The docs give two sizes.

**Minimum:** 2 GB of RAM, 1 CPU core, 40 GB of disk.

**Recommended:** 4 GB of RAM, 2 CPU cores, 60 GB of disk or more.

### Minimum

- 2 GB of RAM
- 1 CPU core
- 40 GB of disk

### Recommended

- 4 GB of RAM
- 2 CPU cores
- 60 GB of disk or more

The two server sizes in the docs.

The minimum works, but it is tight. A minimal install uses about 1.5 GB of the 2 GB at rest, and more while it sends. If you start on 2 GB, open **Application → Jobs** after the install and set **Job server memory mode** to **Low memory**. That runs the whole job server in one process. [Performance tuning](/docs/performance-tuning) explains the trade.

Choose the recommended size when you expect a large list, frequent sends, or several channels.

Disk space holds your database, your backups, your uploaded images and your logs. The installer refuses to run with less than 5 GB free and warns below 20 GB.

## What the server does not need

Broadcast ships as a Docker image that brings its own dependencies. The only data store it needs is **PostgreSQL 17**, and the automatic installer installs and manages it for you.

There is **no Redis**. Background jobs and websockets run on PostgreSQL too. That means one data store to secure, one to back up, and one to keep alive.

The server also does not send email to inboxes. Broadcast hands each message to the email provider you connect, so you do not open port 25 or run a mail server. You connect the provider in lesson 5.

### On your server

- Broadcast, as a Docker image
- PostgreSQL 17
- Ports 80 and 443 for HTTP and HTTPS

### Not needed

- Redis
- A mail server, or port 25
- nginx or Apache

One server, one data store. The installer sets up everything on the left.

## Where to host

Any VPS provider that offers Ubuntu 24.04 works. The docs recommend Hetzner for network performance, reliability and price. DigitalOcean and Linode are also good options. The [installation guide](/installation) has signup links with starting credit.

When you create the server, add your SSH public key. You need it to log in as `root` and run the installer. Keep the key safe: without it, you cannot reach the server if something goes wrong.

## A domain name

You also need a domain name for the dashboard before you install. Use a subdomain, such as `broadcast.example.com`, so your root domain stays free for your website. You point it at the server with an A record during the install. Lesson 3 covers that step.

## How much system administration

With the automatic installer, you do very little. The installer sets up the software, the SSL certificate, server hardening and automatic operating system updates. Broadcast upgrades run from the dashboard.

There is one long-term task. Ubuntu 24.04 will need an upgrade to the next version around April 2029. Plan for it.

If you choose the manual Docker install instead, you supply PostgreSQL and run the containers yourself. That route expects you to be comfortable with Linux, databases and web servers. See [System requirements](/docs/system-requirements) for the full list.

## What you learned

- Use a fresh Ubuntu 24.04 or 26.04 server with ports 80 and 443 free.
- 2 GB of RAM is the minimum. 4 GB is recommended. On 2 GB, use Low memory mode.
- PostgreSQL is the only data store. There is no Redis and no mail server to run.

## Quiz
1. Which operating system does the automatic installer support?
   - Any Linux distribution with Docker
   - Ubuntu 24.04 or 26.04, server edition (correct)
   - Debian 12 or Ubuntu 22.04
   The installer checks the operating system and supports only Ubuntu Server 24.04 or 26.04.
2. Which data store does Broadcast need?
   - PostgreSQL only, for data, background jobs and websockets (correct)
   - PostgreSQL and Redis
   - MySQL and Redis
   Background jobs and websockets run on PostgreSQL, so there is no Redis to install or back up.
3. You run Broadcast on a 2 GB server. What should you change?
   - Turn off open tracking
   - Add a Redis cache
   - Lower the hourly limit to 15
   - Switch the job server to Low memory mode on the Jobs page (correct)
   A minimal install uses about 1.5 GB of 2 GB at rest, so the docs recommend Low memory mode on small servers.
