This project is an attempt to recreate the virtual hackerspace we had during COVID-19 on Gather Town, which was lost during their business plan updates.
Currently it is in early alpha stage; check out the open issues at GitHub.
- You have to have knowledge of command prompt/terminal use and directory navigation
$ commands look like thisThe the $ is your shell prompt similar to C:\>.
You will need at least Node.js and Git to fetch and run the project. Visual Studio Code is recommended as an IDE to manage and develop for it.
Windows needs the Chocolatey Package manager (for ease of installation). This is done by the first powershell command.
$ powershell -c "irm https://community.chocolatey.org/install.ps1|iex"
$ choco install nodejs --version="24.13.0"
$ choco install git
$ choco install vscodeMacOS needs the Homebrew package manager (for ease of installation). This is done by the first bash command.
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
$ \. "$HOME/.nvm/nvm.sh"
$ nvm install 24
$ brew install git
$ brew install --cask visual-studio-codeAssuming Debian based distros, for other, try replacing deb with pacman for Arch, zypper for Suse and dnf for RedHat. Your mileage may vary and packages might have a slightly different name.
$ curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.40.3/install.sh | bash
$ \. "$HOME/.nvm/nvm.sh"
$ nvm install 24
$ sudo apt install git
$ curl -ovscode.deb https://go.microsoft.com/fwlink/?LinkID=760868
$ sudo apt install ./vscode.debProvide your local instance with the latest node modules:
$ npm install # or npm iCopy over the .env.example file to .env:
$ cp .env.example .envStart local development instance:
$ npm startOpen http://localhost:3000 to view it in the browser. The page will (hot) reload if you make edits.
You will need a local LiveKit server running that handles the conference and WebRTC media.
$ npm run buildTest the production build locally:
$ npm run serveBy default, production builds are made, but it's possible to build other types for your needs, i.e. debug features and/or local server connection.
You can build a certain variant using mode, replacing <variant>:
$ npm run build -- --mode <variant>test: debug features enabled, connecting to localhost, similar to local development instancestaging: debug features enabled, connecting to public server
Other variants can be made to suit your needs: they should pair with a dedicated .env.<variant> file containing specific environment variables.
TODO
Run development server.
Check the latest version on https://github.com/livekit/livekit/releases/latest
$ wget https://github.com/livekit/livekit/releases/download/v1.9.11/livekit_1.9.11_linux_amd64.tar.gz
$ tar -xf livekit_1.9.11_linux_amd64.tar.gz
./livekit-server --devTo run it publicly (not recommended), add --bind 0.0.0.0
# TODO: npm run deployIn order to use WebRTC, a secure context is needed (TLS/SSL), which means your LiveKit server needs a proxy.
For Apache, a proxy can be used. Make sure the proxy module is enabled:
$ a2enmod proxyAnd add the following two lines to your virtualhost config:
<VirtualHost *:443>
#... current settings
# SSL websocket proxy
ProxyPass /livekit ws://127.0.0.1:7880
ProxyPassReverse /livekit ws://127.0.0.1:7880
</VirtualHost>