mirror of
https://github.com/stoatchat/self-hosted.git
synced 2026-03-03 02:27:01 +00:00
* 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>
67 lines
2.3 KiB
Bash
67 lines
2.3 KiB
Bash
#!/usr/bin/env bash
|
|
|
|
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 "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
|
|
openssl ecparam -name prime256v1 -genkey -noout -out vapid_private.pem
|
|
echo "private_key = \"$(base64 -i vapid_private.pem | tr -d '\n' | tr -d '=')\"" >> Revolt.toml
|
|
echo "public_key = \"$(openssl ec -in vapid_private.pem -outform DER|tail --bytes 65|base64|tr '/+' '_-'|tr -d '\n'|tr -d '=')\"" >> Revolt.toml
|
|
rm vapid_private.pem
|
|
|
|
# encryption key for files
|
|
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 |