44 lines
1.3 KiB
Bash
Executable File
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...')"
|