Files
kawa/setup
2026-03-14 16:10:35 +01:00

44 lines
1.3 KiB
Bash
Executable File

#!/usr/bin/env bash
# KAWA OS - Installation automatique
# Usage: git clone git.du-senegal.com/kawa && cd kawa && ./setup
set -e
HEADSCALE_URL="https://headscale.du-senegal.com"
HEADSIZE_FALLBACK="http://141.94.23.212"
HEADSCALE_AUTHKEY="f43f36ef159b3df799eb316b81bdac1b415c7cc2add174d0"
echo "🜄 KAWA OS - Installation"
echo ""
# Hostname
MODEL=$(cat /sys/class/dmi/id/product_name 2>/dev/null | tr '[:upper:]' '[:lower:]' | tr -d ' ' | cut -c1-15 || echo "node")
SUFFIX=$(head -c 4 /dev/urandom | xxd -p 2>/dev/null || echo "0000")
HOSTNAME="kawa-${MODEL}-${SUFFIX}"
echo "Hostname: $HOSTNAME"
# Tailscale
if ! command -v tailscale &> /dev/null; then
echo "Installation de Tailscale..."
curl -fsSL https://tailscale.com/install.sh | sh
fi
tailscaled 2>/dev/null &
sleep 3
# Mesh
echo "Connexion au mesh..."
if tailscale up --login-server="$HEADSCALE_URL" --authkey="$HEADSCALE_AUTHKEY" --hostname="$HOSTNAME" 2>/dev/null; then
echo "✓ Connecté via $HEADSCALE_URL"
elif tailscale up --login-server="$HEADSIZE_FALLBACK" --authkey="$HEADSCALE_AUTHKEY" --hostname="$HOSTNAME" 2>/dev/null; then
echo "✓ Connecté via $HEADSCALE_FALLBACK"
else
echo "✗ Échec de connexion"
exit 1
fi
sleep 2
echo ""
echo "🜄 Nœud KAWA configuré!"
echo "IP: $(tailscale ip 2>/dev/null || echo 'en attente...')"