feat: add bootstrap scripts for one-line installer download
All checks were successful
CI / build (push) Successful in 1m39s
CI / docker (push) Successful in 18s

get-cameleer.sh and get-cameleer.ps1 download just the installer
files from Gitea into a local ./installer directory. Usage:

  curl -fsSL https://gitea.siegeln.net/.../get-cameleer.sh | bash
  irm https://gitea.siegeln.net/.../get-cameleer.ps1 | iex

Supports --version=v1.2.0 to pin a specific tag, defaults to main.
Pass --run to auto-execute the installer after download.

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
hsiegeln
2026-04-25 12:48:23 +02:00
parent b5068250f9
commit cafd7e9369
2 changed files with 121 additions and 0 deletions

57
get-cameleer.sh Normal file
View File

@@ -0,0 +1,57 @@
#!/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