WeaveSignal

Run your own station

Three ways to the same station, all from the same published images. Each wants a Linux server of its own: live audio needs CPU on time, and on a heavily shared server the listener stream runs dry. A busy server is fine for finding out whether it works.

The server

Linux with Docker Compose, or Podman 5 with the docker-compose provider

One script

The quickest route
git clone https://forgejo.weavesignal.top/WeaveSignal/weavesignal.git
cd weavesignal
deploy/compose/weavesignal.sh

The script finds Podman or Docker, makes the station's secrets on your machine, picks free ports, pulls weavesignal-server:1.0.0 and starts the station, listening on this machine only. Run it again with --public station.example to put a reverse proxy with a certificate in front and open the room to the internet.

  • Docker Engine with the Compose plugin, or Podman 5 with docker-compose as its provider. Not podman-compose: the script refuses it.
  • The repository checked out where it will stay: the bundle mounts playout's scripts from it.
  • Ports are chosen for you and stay settings.

Install a station with weavesignal.sh, then publish it.

Cloudron 10.0 or later, amd64

Cloudron

https://forgejo.weavesignal.top/WeaveSignal/weavesignal/raw/branch/main/deploy/cloudron/CloudronVersions.json

Cloudron is a self-hosting platform that runs apps on your own server with backups, updates and a login in front of them. WeaveSignal is listed on ca.cloudron.io: in your Cloudron's dashboard open App Store, choose Community apps, paste the address above and install. Cloudron asks for the four domains and the public ports, then keeps the app updated from the same catalogue. From the command line it is cloudron install --versions-url with the same address.

  • Paste and click: no command line needed.
  • PostgreSQL is Cloudron's addon; sign-in codes go through Cloudron's mail.
  • 1.5 GiB of memory is the package's limit; a server with IPv6 should read the guide's TURN note first.

Install on Cloudron

Linux with Podman 5 and systemd

Quadlets

git clone https://forgejo.weavesignal.top/WeaveSignal/weavesignal.git
cd weavesignal
mkdir -p ~/.config/weavesignal
deploy/compose/weavesignal.sh --no-start --env-file ~/.config/weavesignal/station.env
deploy/quadlets/generate.sh --env-file ~/.config/weavesignal/station.env \
  --out ~/.config/weavesignal/quadlets --create-secrets

Quadlets are Podman's systemd units for containers. The first command makes the secrets and chooses the ports without starting anything; the second writes one unit per container and per volume from the same Compose bundle, and stores the secrets as Podman secrets. Copy the units into place and systemd starts the station at boot.

  • Podman 5 with docker-compose as its provider, and systemd for your user.
  • The repository checked out where it will stay.
  • Generated and checked on every build; not yet run as a station's daily route.

Run a station as Podman Quadlets

Whichever route: sign in from the studio app with the station key the install made, add yourself as an admin, then add your staff. For a big night, edges or a CDN go in front of the stream.

The studio app

For whoever runs the desk and screens the calls. Presenters, guests, callers and listeners need nothing but a browser. Release 1.0.0, from the release on the Forgejo; check each file against its checksum before you install it.

Linux, 64-bit Intel and AMD

Install the studio app on Linux

Windows 10 and 11, x64

The installer is unsigned, so Windows' SmartScreen stops it the first time, and it has been built on Linux and inspected but not yet run on Windows. Install the studio app on Windows says how to check it and get past the warning.

macOS

There is no macOS build. A presenter or guest on a Mac joins from the browser; running the desk needs a Linux or Windows machine.

Updates

The app checks for signed updates and installs one only when asked; an AppImage can roll back. Update the studio app, or roll it back.