Bedrud Documentation

The built-in installer configures a fresh Linux server for production use with a single command.

What the Installer Does

When you run bedrud install, the following happens:

Step Action
1 Creates directories: /etc/bedrud, /var/lib/bedrud, /var/log/bedrud
2 Copies binary to /usr/local/bin/bedrud
3 Generates config.yaml with your settings /etc/bedrud/config.yaml
4 Generates livekit.yaml for media server /etc/bedrud/livekit.yaml
5 Creates two systemd services: bedrud.service & livekit.service
6 Enables and starts both services
7 Initializes SQLite database and certificate cache

Systemd Services

The installer creates two systemd services:

Service Command Purpose
bedrud.service bedrud --run --config /etc/bedrud/config.yaml API + web
livekit.service bedrud --livekit --config /etc/bedrud/livekit.yaml Media server

Security and TLS

The installer handles security automatically:

  • ACME (Let’s Encrypt): If you provide a domain and email, it sets up automatic certificate renewal.
  • Self-Signed Certs: If no domain is provided, it generates a self-signed certificate so that the site still works over HTTPS. The server auto-renews the certificate daily when it’s within 30 days of expiry. Use bedrud cert renew for manual renewal.
  • Reverse Proxy: The backend acts as a reverse proxy. It receives traffic on port 443 and sends /livekit requests to the internal media server.

Updating

In-place upgrade (preserves config and database):

sudo bedrud update
# alias:
sudo bedrud upgrade

Replaces the binary with the running executable, runs versioned install migrations and DB AutoMigrate, refreshes init units, and restarts services. See Updating.

Uninstallation

If you need to remove Bedrud, you can run:

sudo bedrud uninstall

This stops the services, deletes the init service files (systemd, OpenRC, or SysV init), and removes the configuration and data folders.


See also