UI: status-palkissa vihreä "+ Liitä koneesi" -nappi joka avaa dialogin: curl -sSL https://kipina.studio/join.sh | bash join.sh: - Tarkistaa Ollaman → tarjoaa asennusta jos puuttuu - Käynnistää Ollaman jos ei pyöri - Lataa kielimallin (qwen2.5-coder:3b) - Käynnistää native-noden → yhdistää wss://kipina.studio/ws Docker: Dockerfile.native + docker-compose.prod.yml päivitetty ollama + native-node -konteilla palvelinpuolelle. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
74 lines
2.4 KiB
Bash
74 lines
2.4 KiB
Bash
#!/bin/bash
|
|
# Kipinä — liitä koneesi laskentaverkkoon
|
|
set -e
|
|
|
|
HUB_URL="${KIPINA_HUB:-wss://kipina.studio/ws}"
|
|
MODEL="${KIPINA_MODEL:-qwen2.5-coder:3b}"
|
|
|
|
echo ""
|
|
echo " ╔══════════════════════════════════════╗"
|
|
echo " ║ Kipinä Agentic Network — Node Join ║"
|
|
echo " ╚══════════════════════════════════════╝"
|
|
echo ""
|
|
|
|
# 1. Ollama
|
|
if command -v ollama &>/dev/null; then
|
|
echo " ✓ Ollama löytyi: $(ollama --version 2>/dev/null || echo 'asennettu')"
|
|
else
|
|
echo " Ollama ei ole asennettu."
|
|
echo ""
|
|
read -p " Asennetaanko Ollama? (k/e) " -n 1 -r; echo
|
|
if [[ $REPLY =~ ^[Kk]$ ]]; then
|
|
echo " Asennetaan Ollama..."
|
|
curl -fsSL https://ollama.ai/install.sh | sh
|
|
else
|
|
echo " Ollama vaaditaan laskentaan. Asenna: https://ollama.ai"
|
|
exit 1
|
|
fi
|
|
fi
|
|
|
|
# 2. Varmistetaan että Ollama on käynnissä
|
|
if ! curl -s http://localhost:11434/api/tags &>/dev/null; then
|
|
echo " Käynnistetään Ollama..."
|
|
ollama serve &>/dev/null &
|
|
sleep 3
|
|
if ! curl -s http://localhost:11434/api/tags &>/dev/null; then
|
|
echo " ✗ Ollama ei käynnistynyt. Aja: ollama serve"
|
|
exit 1
|
|
fi
|
|
fi
|
|
echo " ✓ Ollama käynnissä"
|
|
|
|
# 3. Malli
|
|
if ollama list 2>/dev/null | grep -q "$MODEL"; then
|
|
echo " ✓ Malli $MODEL ladattu"
|
|
else
|
|
echo " Ladataan malli $MODEL..."
|
|
ollama pull "$MODEL"
|
|
fi
|
|
|
|
# 4. Native-node
|
|
echo ""
|
|
echo " Yhdistetään hubiin: $HUB_URL"
|
|
echo " Malli: $MODEL"
|
|
echo " Ctrl+C pysäyttää"
|
|
echo ""
|
|
|
|
# Tarkistetaan onko native-node käännetty
|
|
SCRIPT_DIR="$(cd "$(dirname "$0")" && pwd)"
|
|
NATIVE_BIN="$SCRIPT_DIR/target/release/native-node"
|
|
|
|
if [ -f "$NATIVE_BIN" ]; then
|
|
HUB_URL="$HUB_URL" OLLAMA_MODEL="$MODEL" "$NATIVE_BIN"
|
|
elif command -v cargo &>/dev/null && [ -f "$SCRIPT_DIR/native-node/Cargo.toml" ]; then
|
|
echo " Käännetään native-node..."
|
|
cd "$SCRIPT_DIR"
|
|
cargo build --release -p native-node --no-default-features 2>&1 | tail -1
|
|
HUB_URL="$HUB_URL" OLLAMA_MODEL="$MODEL" "$NATIVE_BIN"
|
|
else
|
|
echo " ✗ native-node binääriä ei löydy eikä Rust ole asennettu."
|
|
echo " Asenna Rust: curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh"
|
|
echo " Tai lataa valmis binääri: https://kipina.studio/download"
|
|
exit 1
|
|
fi
|