Add setup.sh script (#595)
* Add setup.sh script * Remove update menu item * make setup.sh work on macOS * Update wording --------- Co-authored-by: Christian Beutel <>
This commit is contained in:
48
docs/public/setup.sh
Normal file
48
docs/public/setup.sh
Normal file
@@ -0,0 +1,48 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
# Detect OS for sed compatibility
|
||||
if [[ "$OSTYPE" == "darwin"* ]]; then
|
||||
SED_INPLACE() { sed -i '' "$@"; }
|
||||
else
|
||||
SED_INPLACE() { sed -i "$@"; }
|
||||
fi
|
||||
|
||||
# prompt for environment type
|
||||
read -r -p "Is this a local development setup? (y/n): " is_dev
|
||||
|
||||
if [[ "${is_dev}" =~ ^[Yy]$ ]]; then
|
||||
origin="http://localhost:3000"
|
||||
public_disable_signup=false
|
||||
else
|
||||
read -r -p "Enter the domain (e.g., example.com): " domain
|
||||
origin="https://${domain}"
|
||||
read -r -p "Allow public signups? (y/n): " allow_signups
|
||||
if [[ "${allow_signups}" =~ ^[Yy]$ ]]; then
|
||||
public_disable_signup=false
|
||||
else
|
||||
public_disable_signup=true
|
||||
fi
|
||||
fi
|
||||
|
||||
# generate secrets
|
||||
meili_key=$(openssl rand -hex 32)
|
||||
pocket_key=$(openssl rand -hex 16)
|
||||
|
||||
# Download docker-compose.yml using curl or wget
|
||||
if command -v wget >/dev/null 2>&1; then
|
||||
wget -O docker-compose.yml https://raw.githubusercontent.com/Flomp/wanderer/refs/heads/main/docker-compose.yml
|
||||
elif command -v curl >/dev/null 2>&1; then
|
||||
curl -fsSL -o docker-compose.yml https://raw.githubusercontent.com/Flomp/wanderer/refs/heads/main/docker-compose.yml
|
||||
else
|
||||
echo "Error: neither wget nor curl is installed." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# update docker-compose.yml with secrets and configuration
|
||||
SED_INPLACE "s/MEILI_MASTER_KEY:.*/MEILI_MASTER_KEY: ${meili_key}/" docker-compose.yml
|
||||
SED_INPLACE "s/POCKETBASE_ENCRYPTION_KEY:.*/POCKETBASE_ENCRYPTION_KEY: ${pocket_key}/" docker-compose.yml
|
||||
SED_INPLACE "s|ORIGIN:.*|ORIGIN: ${origin}|" docker-compose.yml
|
||||
SED_INPLACE "s/PUBLIC_DISABLE_SIGNUP: .*/PUBLIC_DISABLE_SIGNUP: \"${public_disable_signup}\"/" docker-compose.yml
|
||||
|
||||
echo "✅ Setup complete. Run 'docker compose up -d' to start the services."
|
||||
Reference in New Issue
Block a user