initial
This commit is contained in:
commit
da1a550139
10 changed files with 2088 additions and 0 deletions
67
configure.sh
Executable file
67
configure.sh
Executable file
|
|
@ -0,0 +1,67 @@
|
|||
#!/bin/bash
|
||||
|
||||
generate_pass() { echo $(head -c 32 /dev/urandom | base64 | tr -d "=/+"); }
|
||||
|
||||
mkdir -p certs
|
||||
if [ ! -f "certs/3m.pem" ]; then
|
||||
openssl genrsa -out certs/3m.pem 2048
|
||||
openssl rsa -in certs/3m.pem -pubout -out certs/3m.pub
|
||||
fi
|
||||
if [ ! -f "certs/grumble.pem" ]; then
|
||||
openssl genrsa -out certs/grumble.pem 2048
|
||||
openssl rsa -in certs/grumble.pem -pubout -out certs/grumble.pub
|
||||
fi
|
||||
|
||||
envp() {
|
||||
if [ -z "${!1}" ]; then
|
||||
read -p "$2: " INPUT
|
||||
echo "$1='$INPUT'" >> .env
|
||||
export "$1=$INPUT"
|
||||
fi
|
||||
}
|
||||
|
||||
envgen() {
|
||||
if [ -z "${!1}" ]; then
|
||||
echo "$1='$2'" >> .env
|
||||
export "$1='$2'"
|
||||
fi
|
||||
}
|
||||
|
||||
if [ -f ".env" ]; then
|
||||
source .env
|
||||
fi
|
||||
|
||||
|
||||
envgen MYSQL_PASSWORD $(generate_pass)
|
||||
envgen MINIO_ROOT_PASSWORD $(generate_pass)
|
||||
envgen COTURN_PASSWORD $(generate_pass)
|
||||
envgen MINIO_ROOT_USER "threem"
|
||||
|
||||
envp ERGO__NETWORK__NAME "What's the overall name of the network? No spaces or special characters (e.g. 'CEF')"
|
||||
envp DOMAIN "What is your domain? Omit HTTP/HTTPS (e.g. 'cef.icu')"
|
||||
envgen ERGO__SERVER__NAME $DOMAIN
|
||||
envgen ERGO__DATASTORE__MYSQL__PASSWORD $MYSQL_PASSWORD
|
||||
envgen THREEM_DBURL "mysql+mysqldb://root:$MYSQL_PASSWORD@mariadb/ergo_ext"
|
||||
|
||||
envp HOST_DOMAIN "What is the domain of your Minio configuration (e.g. 'i.cef.icu')"
|
||||
envgen THREEM_MINIO_EXTERNAL_ADDR $HOST_DOMAIN
|
||||
envp ERGO__SERVER__IP_CLOAKING__NETNAME "What do you want the fake TLD of a cloaked IP to be? (e.g. 'cef')"
|
||||
envp ERGO__SERVER__OVERRIDE_SERVICES_HOSTNAME "What do you want the vhost of IRC services to be (e.g. 'cef.operative')"
|
||||
|
||||
envp VIDEO_DOMAIN "What is the domain of the video server? It MUST not be behind cloudflare (e.g. video.cef.icu)"
|
||||
envgen MTX_WEBRTCADDITIONALHOSTS "$VIDEO_DOMAIN"
|
||||
|
||||
envgen VITE_IRC_WEBSOCKET "wss://$DOMAIN/chat"
|
||||
envgen VITE_3M_ADDRESS "https://$DOMAIN/3m"
|
||||
envgen VITE_HOSTING_ADDRESS "https://$HOST_DOMAIN"
|
||||
|
||||
envgen IMAGOR_SECRET $(generate_pass)
|
||||
envgen IMAGOR_URL "https://$HOST_DOMAIN/embed/"
|
||||
|
||||
envgen THREEM_MEDIAMTX_API "http://mediamtx:9997"
|
||||
envgen THREEM_MEDIAMTX_RTSP "mediamtx:8554"
|
||||
envgen ERGO__CEF__IMAGOR__URL "https://$HOST_DOMAIN/embed/"
|
||||
envgen ERGO__CEF__IMAGOR__SECRET "$IMAGOR_SECRET"
|
||||
envgen VITE_VOICE_ADDRESS "wss://$DOMAIN/voice"
|
||||
|
||||
echo "Have you set up Minio? If not, run ./setup-minio.sh"
|
||||
Loading…
Add table
Add a link
Reference in a new issue