#!/usr/bin/env bash set -euo pipefail # Bootstrap script — downloads the Cameleer installer and runs it. # Usage: # curl -fsSL https://get.cameleer.io/install | bash # curl -fsSL https://get.cameleer.io/install | bash -s -- --version v1.2.0 # wget -qO- https://gitea.siegeln.net/cameleer/cameleer-saas/raw/branch/main/get-cameleer.sh | bash REPO="https://gitea.siegeln.net/cameleer/cameleer-saas/raw" REF="branch/main" DIR="./installer" # Parse --version / --ref for arg in "$@"; do case "$arg" in --version=*) REF="tag/${arg#*=}"; shift ;; --ref=*) REF="branch/${arg#*=}"; shift ;; esac done BASE="$REPO/$REF" FILES=( "installer/install.sh" "installer/templates/docker-compose.yml" "installer/templates/docker-compose.saas.yml" "installer/templates/docker-compose.server.yml" "installer/templates/docker-compose.tls.yml" "installer/templates/docker-compose.monitoring.yml" "installer/templates/traefik-dynamic.yml" "installer/templates/.env.example" ) echo "Downloading Cameleer installer..." mkdir -p "$DIR/templates" for file in "${FILES[@]}"; do local_path="$DIR/${file#installer/}" echo " ${file#installer/}" curl -fsSL "$BASE/$file" -o "$local_path" done chmod +x "$DIR/install.sh" echo "" echo "Installer ready in $DIR/" echo "Run: cd $DIR && ./install.sh" echo "" # Auto-run if not piped with extra args that look like they want manual control if [ "${1:-}" = "--run" ]; then shift cd "$DIR" exec ./install.sh "$@" fi