feat: Add voice and new web app to self hosted files (#196)

* chore: Use v0.11.1 for now as v0.11.x>1 contain emergency prod-only fix

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* feat: add voice to the compose, caddyfile, and livekit config

Web section of the compose is commented out for now

Added section to readme about the name of the project changing

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* chore: update many references to Revolt to reference Stoat

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* feat: Add new dockerized web container

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* feat: Confirm reconfiguration if Revolt.toml exists

Also fix  not outputing new env vars to .env.web

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* feat: Add a migration script to make upgrading to voice easier

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

* fix: Use old referral code

This commit was made without the use of generative AI.

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>

---------

Signed-off-by: Jacob Schlecht <dadadah@echoha.us>
Co-authored-by: Declan Chidlow <accounts@vale.rocks>
This commit is contained in:
Jacob Schlecht
2026-02-18 20:38:03 -07:00
committed by GitHub
parent 340484159e
commit 54a88cf6cb
7 changed files with 191 additions and 38 deletions

View File

@@ -1,17 +1,36 @@
#!/usr/bin/env bash
# set hostname for Caddy
if test -f "Revolt.toml"; then
echo "Existing config found, running this script will overwrite your existing config. Are you sure you'd like to reconfigure?"
select yn in "Yes" "No"; do
case $yn in
No ) exit;;
Yes ) break;;
esac
done
fi
# set hostname for Caddy and vite variables
echo "HOSTNAME=https://$1" > .env.web
echo "REVOLT_PUBLIC_URL=https://$1/api" >> .env.web
echo "VITE_API_URL=https://$1/api" >> .env.web
echo "VITE_WS_URL=wss://$1/ws" >> .env.web
echo "VITE_MEDIA_URL=https://$1/autumn" >> .env.web
echo "VITE_PROXY_URL=https://$1/january" >> .env.web
# hostnames
echo "[hosts]" >> Revolt.toml
echo "[hosts]" > Revolt.toml
echo "app = \"https://$1\"" >> Revolt.toml
echo "api = \"https://$1/api\"" >> Revolt.toml
echo "events = \"wss://$1/ws\"" >> Revolt.toml
echo "autumn = \"https://$1/autumn\"" >> Revolt.toml
echo "january = \"https://$1/january\"" >> Revolt.toml
# livekit hostname
echo "" >> Revolt.toml
echo "[hosts.livekit]" >> Revolt.toml
echo "worldwide = \"wss://$1/livekit\"" >> Revolt.toml
# VAPID keys
echo "" >> Revolt.toml
echo "[pushd.vapid]" >> Revolt.toml
@@ -24,3 +43,25 @@ rm vapid_private.pem
echo "" >> Revolt.toml
echo "[files]" >> Revolt.toml
echo "encryption_key = \"$(openssl rand -base64 32)\"" >> Revolt.toml
livekit_key=$(openssl rand -hex 6)
livekit_secret=$(openssl rand -hex 24)
# livekit key
echo "" >> livekit.yml
echo "keys:" >> livekit.yml
echo " $livekit_key: $livekit_secret" >> livekit.yml
echo "" >> livekit.yml
echo "webhook:" >> livekit.yml
echo " api_key: $livekit_key" >> livekit.yml
echo " urls:" >> livekit.yml
echo " - \"https://$1/ingress/worldwide\"" >> livekit.yml
# livekit config
echo "" >> Revolt.toml
echo "[api.livekit.nodes.worldwide]" >> Revolt.toml
echo "url = \"https://$1/livekit\"" >> Revolt.toml
echo "lat = 0.0" >> Revolt.toml
echo "lon = 0.0" >> Revolt.toml
echo "key = \"$livekit_key\"" >> Revolt.toml
echo "secret = \"$livekit_secret\"" >> Revolt.toml