Lesson 3 9 min read Completed
Install Broadcast
Install Broadcast on a fresh Ubuntu server with the one-command installer, point your domain at it, and finish the first-run setup in the dashboard.
With your server ready, you now install Broadcast. By the end of this lesson you have the dashboard running on your own domain over HTTPS, with an admin account and a first channel. The whole route takes about 30 minutes, and most of it is waiting.
Before you start
Have these three things ready:
- A fresh Ubuntu 24.04 or 26.04 server that you can reach as
rootover SSH. - A domain name for the dashboard. A subdomain such as
broadcast.example.comis best, so your root domain stays free for your website. - Your license key, from your account dashboard. It looks like
XXXXX-XXXXX-XXXXX-XXXXX-XXXXX. Keys issued before October 2026 are shorter, and they still work.
Some providers create an ubuntu user and block root logins. The installation guide shows how to switch to root, because the ubuntu user’s IDs conflict with the application’s file permissions.
Step 1: Point the domain at the server
Do this first. At your DNS provider, add an A record for your dashboard domain with the server’s IP address.
The order matters. Broadcast requests its TLS certificate for that name as soon as it starts. If the name does not resolve to the server yet, the certificate request fails. DNS changes can take up to 24 hours to spread. On Cloudflare they usually take a few minutes.
- 1. Add the A record Dashboard domain to server IP
- 2. Run the installer Asks for your domain and license key
- 3. Certificate Requested for that domain as Broadcast starts
- 4. Open the dashboard Create the admin account and first channel
Step 2: Run the installer
Log in to the server and run one command:
curl -fsSL https://sendbroadcast.net/install.sh | sudo bash
The script is public in the broadcast-script repository on GitHub, so you can read it before you run it.
Note where sudo goes. It goes before bash, not before curl. sudo curl ... | bash runs the download as root and the installer as your user, and the installer stops with the installer must run as root.
Step 3: Answer two questions
The installer asks for your primary domain name and your license key. It checks the key with the license server before it changes anything. Then it asks you to confirm, and reminds you to point your domain at the server. If you skipped step 1, do it now, before you press Enter.
The install takes 5 to 10 minutes. The installer sets up the software, provisions the SSL certificate, hardens the server and turns on automatic operating system updates. When it is done, the server restarts after one minute.
If you install with an AI agent or a script, pass the answers as environment variables and the installer asks nothing:
curl -fsSL https://sendbroadcast.net/install.sh | sudo BROADCAST_DOMAIN=broadcast.example.com BROADCAST_LICENSE=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX bash
The installer writes its log to /var/log/broadcast-install.log.
Step 4: Create your admin account and first channel
Open https:// plus your domain in a browser. The onboarding page asks for three things in order:
- Your name, email address and password, for the admin account.
- A name for your first channel, such as “Newsletter”. A channel is what other tools call a list.
- A confirmation of your domain. Broadcast detects it. Check that it matches the address in your browser.

You land on the dashboard. A card in the bottom-right corner counts the setup steps still missing before you can send. Click it to see the checklist. The next two lessons work through that list: your sending domain and your email server.

When something goes wrong
Every installer error starts with Error:. Unless the message says otherwise, the installer stopped before it changed anything, so you can fix the cause and run the same command again. Three errors are the most common:
- Ports 80 and 443 must be free. Another web server is running. Stop it, or use a fresh server.
- Broadcast is already installed on this server. The installer never changes an existing install. To upgrade, run
./broadcast.sh upgradefrom/opt/broadcast. To finish an install that stopped part way, runsudo /opt/broadcast/broadcast.sh install. - The domain in step 3 is wrong. Point the correct domain at the server, then run
./broadcast.sh change_installation_domainfrom/opt/broadcast. It updates the configuration and requests a new certificate.
The installation guide lists every error with its fix, and Setup covers the first-run screens. The commands that broadcast.sh accepts are in the CLI reference.
Where things live
Everything Broadcast installs is under /opt/broadcast. The app settings are in /opt/broadcast/app/.env, including the domain (TLS_DOMAIN) and the license key (LICENSE_KEY). You run broadcast.sh commands from /opt/broadcast. You come back to this folder for upgrades, backups and restores in lesson 7.
What you learned
- Point an A record at the server before the installer finishes, because Broadcast requests its TLS certificate at start.
- One command installs Broadcast. It asks for your domain and your license key.
- The installer never changes an existing install. Upgrades use
./broadcast.sh upgrade. - The first visit creates the admin account, the first channel, and confirms the domain.
Go deeper in the docs
Check what you learned
PassedAnswer all 3 questions correctly to complete this lesson.