Single binary, no internet needed after download. It includes an embedded media server and SQLite — works on isolated networks. Transfer file, run one command, done.
What You Need
Requirement
Details
A Linux server
amd64 or arm64, with sudo access and systemd. macOS/Windows: use Docker or WSL2 for server
Open ports
8090, 7880, 50000–60000/udp. For auto-TLS: also 80 and 443
A domain (optional)
With DNS A record pointing to your server. No domain? Works with IP — see alternatives below
How it works: You run one Bedrud server. People join meetings in their browser (no install) or via native apps (Android, Windows, macOS, Linux).
1. Get the Bedrud CLI
curl -fsSL https://get.bedrud.org | bash
Reload your shell after install:
source ~/.bashrc # or ~/.zshrc
Verify:
bedrud --version
For flags (--version, --install-dir, --skip-shell, offline installs), see CLI Installer.
irm https://get.bedrud.org/install.ps1 | iex
Close and reopen your terminal, then verify:
bedrud --version
Download and extract manually. Replace linux_amd64 with your platform (linux_arm64, darwin_amd64, darwin_arm64):
No internet on server? Download on any machine, transfer via USB or scp bedrud.tar.xz user@server:/tmp/, then extract there. Binary is fully self-contained — zero outbound requests after transfer.
make init installs LiveKit, creates config, fetches deps. make local-run builds and starts on http://localhost:8090.
Plain HTTP (dev / localhost only)
sudo bedrud install --ip 127.0.0.1
Warning: Browsers block camera/mic on non-HTTPS except localhost. HTTP is dev-only.
Non-Linux Systems
The bedrud install command sets up systemd services and is Linux-only. The CLI installer (step 1) works everywhere and puts the binary in PATH. For server setup, use Docker or WSL2.
OS
How
macOS
CLI installer auto-installs to ~/bin/
Windows
CLI installer auto-installs to %USERPROFILE%\bin\
Docker
Works on any OS with Docker (see above)
Internal Networks
No public domain or outbound internet? See Internal TLS Guide for private CA setup and client trust store configuration.
Configuration
Installer generates /etc/bedrud/config.yaml. Defaults work for most setups.
Change jwtSecret and sessionSecret for production, then restart: