Linux
This guide provides instructions for installing Broadcast Suite on Linux systems (Rocky Linux, Red Hat Enterprise Linux).
Prerequisites
Before installing, ensure you have:
- Rocky Linux or Red Hat Enterprise Linux (RHEL) 9.0 or higher
- Root or sudo access
- Internet connectivity for downloading packages
Automated Installation
The easiest way to install Broadcast Suite is using the automated installer script.
Download and Run the Installer
Download and execute the installation script:
curl -O https://docs.broadcastsuite.com/static/installer.sh
chmod +x installer.sh
sudo ./installer.sh
What the Installer Does
The automated installer performs the following steps:
- Updates the system packages
- Installs required dependencies (nano, wget, ASP.NET Core Runtime 9.0)
- Adds the Broadcast Suite repository
- Installs and configures PostgreSQL
- Prompts for PostgreSQL password (default:
postgres) - Installs Broadcast Suite packages (Core, GUI, API)
- Creates the backup directory with proper permissions
- Updates configuration files with the PostgreSQL password
- Configures SELinux for network connectivity
- Starts Broadcast Suite services
- Optionally installs and configures NGINX as a reverse proxy
Manual Installation
If you prefer to install manually, follow these steps:
Step 1: Update System and Install Dependencies
Update the system and install required packages:
sudo dnf update -y
sudo dnf install nano wget aspnetcore-runtime-9.0 -y
Step 2: Add Broadcast Suite Repository
Add the Broadcast Suite package repository:
sudo dnf config-manager --add-repo https://git.broadcastsuite.com/api/packages/broadcastsuite/rpm.repo
Step 3: Install and Configure PostgreSQL
Install PostgreSQL, initialize the database, and start the service:
sudo dnf install postgresql-server -y
sudo /usr/bin/postgresql-setup --initdb
sudo systemctl enable postgresql --now
Set the PostgreSQL password for the postgres user:
Replace YOUR_PASSWORD with a secure password. Remember this password as you will need it in the next steps.
cd /var/lib/pgsql/
sudo -u postgres psql -U postgres -d postgres -c "alter user postgres with password 'YOUR_PASSWORD'"
Restart PostgreSQL to apply changes:
sudo systemctl restart postgresql
Step 4: Install Broadcast Suite
Install all Broadcast Suite packages:
sudo dnf install broadcastsuite-* -y
Create the backup directory with proper permissions:
sudo mkdir -p /opt/slg/broadcastsuite/backups
sudo chown broadcastsuite /opt/slg/broadcastsuite/backups/
Step 5: Configure Database Connection
Update the database password in the configuration files:
Replace YOUR_PASSWORD with the PostgreSQL password you set in Step 3.
sudo sed -i "s/Password=postgres;/Password=YOUR_PASSWORD;/g" /opt/slg/broadcastsuite/api/appsettings.json
sudo sed -i "s/Password=postgres;/Password=YOUR_PASSWORD;/g" /opt/slg/broadcastsuite/core/appsettings.json
sudo sed -i "s/Password=postgres;/Password=YOUR_PASSWORD;/g" /opt/slg/broadcastsuite/gui/appsettings.json
Configure SELinux to allow network connectivity:
sudo /usr/sbin/setsebool -P httpd_can_network_connect 1
Copy the PostgreSQL configuration file and restart:
sudo cp /opt/slg/broadcastsuite/templates/pg_hba.conf /var/lib/pgsql/data/pg_hba.conf
sudo systemctl restart postgresql
Step 6: Start Broadcast Suite Services
Enable and start the Broadcast Suite services:
sudo systemctl enable broadcastsuite-core --now
sudo systemctl enable broadcastsuite-gui --now
sudo systemctl enable broadcastsuite-api --now
Verify that the services are running:
sudo systemctl status broadcastsuite-core
sudo systemctl status broadcastsuite-gui
sudo systemctl status broadcastsuite-api
Post-Installation
Command Line Interface (CLI)
Broadcast Suite includes a command-line interface. For detailed information about available CLI commands and usage, please refer to the CLI documentation.
Default Ports
After installation, Broadcast Suite services are available on the following ports:
- Core: 8085 (HTTP), 8086 (gRPC), 9000 (Ember+)
- GUI: 5000 (HTTP)
- API: 8091 (REST), 8092 (gRPC)
See the Port Matrix for a full overview over all used ports.
Firewall Configuration
If you have a firewall enabled, open the necessary ports:
sudo firewall-cmd --permanent --add-port=5000/tcp
sudo firewall-cmd --permanent --add-port=8085/tcp
sudo firewall-cmd --permanent --add-port=8086/tcp
sudo firewall-cmd --permanent --add-port=8091/tcp
sudo firewall-cmd --permanent --add-port=8092/tcp
sudo firewall-cmd --permanent --add-port=9000/tcp
sudo firewall-cmd --reload
If you use NGINX as a reverse proxy, you only need to open ports 80 and 443 for HTTP/HTTPS traffic.
Accessing the Application
You can now access the Broadcast Suite GUI:
- Without NGINX:
http://your-server-ip:5000 - With NGINX:
https://your-server-iporhttps://your-domain.com
Troubleshooting
Services Not Starting
- Check service status:
sudo systemctl status broadcastsuite-core - View service logs:
sudo journalctl -u broadcastsuite-core -n 50 - Verify PostgreSQL is running:
sudo systemctl status postgresql - Check configuration files for syntax errors
Database Connection Issues
- Verify PostgreSQL password in
/opt/slg/broadcastsuite/*/appsettings.json - Check PostgreSQL authentication:
sudo cat /var/lib/pgsql/data/pg_hba.conf - Test PostgreSQL connection:
psql -U postgres -h localhost - Review PostgreSQL logs:
sudo journalctl -u postgresql -n 50
SELinux Issues
- Check SELinux status:
sestatus - View SELinux denials:
sudo ausearch -m avc -ts recent - Verify network connectivity boolean:
getsebool httpd_can_network_connect - Temporarily disable SELinux for testing:
sudo setenforce 0(not recommended for production)
Permission Issues
- Verify ownership:
ls -la /opt/slg/broadcastsuite/ - Check backup directory permissions:
ls -ld /opt/slg/broadcastsuite/backups/ - Ensure
broadcastsuiteuser exists:id broadcastsuite