Downloading Streamplace
brew install streamplace/streamplace/streamplaceDebian/Ubuntu
Section titled “Debian/Ubuntu”sudo mkdir -p /etc/apt/keyringscurl https://release.stream.place/streamplace.key | sudo gpg --dearmor -o /etc/apt/keyrings/streamplace.keyecho 'deb [signed-by=/etc/apt/keyrings/streamplace.key] https://release.stream.place/debian/ all main' \ | sudo tee /etc/apt/sources.list.d/streamplace.listsudo apt updatesudo apt install streamplaceThis will install the streamplace systemd service. To configure it, you will
want to edit the environment variables at /etc/streamplace/streamplace.env. An
example production env file might look something like this:
# Handle default HTTP and HTTPS traffic for the serverSP_HTTP_ADDR=:80SP_HTTPS_ADDR=:443SP_SECURE=true
# Set this variable to your did:plc or did:web to have admin access to the nodeSP_ADMIN_DIDS=did:web:example.com,did:plc:rbvrr34edl5ddpuwcubjiost
# If you're running Streamplace behind an HTTPS proxy, you'll want# SP_SECURE=false# SP_BEHIND_HTTPS_PROXY=true
# Necessary to advertise a public Streamplace broadcasterSP_BROADCASTER_HOST=example.com# If you have a multi-node cluster, they'll each need different public DNS names:SP_SERVER_HOST=prod-nyc0.example.com
# If you don't want to syndicate everyone, add your list of allowed DIDs here:SP_ALLOWED_STREAMS=did:web:example.com,did:plc:rbvrr34edl5ddpuwcubjiost
# Useful if your TLS cert and key aren't in the defaultSP_TLS_CERT=/tls/tls.crtSP_TLS_KEY=/tls/tls.keyReusing a former PDS hostname
Section titled “Reusing a former PDS hostname”A Streamplace node does not host the accounts from a PDS that previously ran at the same hostname. If their DID documents still point there, repository reads return HTTP 508 (Loop Detected) rather than repeatedly proxying back to the node. Restore the PDS or update those accounts’ PDS endpoints to make their records available again.
Repository reads forwarded by Streamplace carry X-Streamplace-Repo-Proxy.
Reverse proxies must preserve this header: a node can serve its own repository
to a forwarded request, but will not forward that request again.
Docker
Section titled “Docker”Running Streamplace from a Docker image works great except for Docker networking. Streamplace relies heavily on WebRTC for playback, which requires large numbers of ephemeral UDP ports to work properly. So, we recommend using host networking. So that command would look something like:
docker run \ --name streamplace \ -d \ -e SP_HTTP_ADDR=:80 \ -e SP_HTTPS_ADDR=:443 \ -e SP_SECURE=true \ -e SP_BROADCASTER_HOST=example.com \ -e SP_ALLOWED_STREAMS=did:web:example.com,did:plc:rbvrr34edl5ddpuwcubjiost \ -v /var/lib/streamplace:/var/lib/streamplace \ --net=host \ ghcr.io/streamplace/streamplaceDownload a binary
Section titled “Download a binary”Binaries for all platforms are available to download from our GitLab server.