#!/bin/bash set -e SERVER="ubuntu@86.50.252.98" REMOTE_DIR="~/code/agentic-studio/network-poc" KEY="$HOME/.ssh/id_rsa" SSH_OPTS="-o StrictHostKeyChecking=no -i $KEY" # Varmistetaan, että SSH-avain on agentissa if ! ssh-add -l 2>/dev/null | grep -q id_rsa; then echo "SSH-avain ei ole agentissa. Lisätään..." ssh-add "$KEY" fi echo "=== Kipinä Studio Deploy ===" # 1. Rakennetaan Docker-image lokaalisti echo "[1/4] Rakennetaan image lokaalisti..." docker build -f Dockerfile.prod -t kipina-agentic:latest . # 2. Tallennetaan tiedostoon echo "[2/5] Pakataan image..." docker save kipina-agentic:latest | gzip > /tmp/kipina-agentic.tar.gz echo " Koko: $(du -h /tmp/kipina-agentic.tar.gz | cut -f1)" # 3. Siirretään palvelimelle echo "[3/5] Siirretään palvelimelle..." scp $SSH_OPTS /tmp/kipina-agentic.tar.gz $SERVER:/tmp/ scp $SSH_OPTS docker-compose.prod.yml Caddyfile.prod $SERVER:$REMOTE_DIR/ # 4. Ladataan image ja käynnistetään echo "[4/5] Ladataan image palvelimella..." ssh $SSH_OPTS $SERVER "gunzip -c /tmp/kipina-agentic.tar.gz | docker load && rm /tmp/kipina-agentic.tar.gz" echo "[5/5] Käynnistetään palvelut uudelleen..." ssh $SSH_OPTS $SERVER "cd $REMOTE_DIR && docker compose -f docker-compose.prod.yml down && docker compose -f docker-compose.prod.yml up -d" echo "=== Valmis! https://kipina.studio ==="