* Add setup.sh script * Remove update menu item * make setup.sh work on macOS * Update wording --------- Co-authored-by: Christian Beutel <>
49 lines
1.7 KiB
Bash
49 lines
1.7 KiB
Bash
#!/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."
|