2025-11-26 15:31:41 +01:00
|
|
|
#!/bin/bash
|
|
|
|
|
# RunPod container startup script
|
|
|
|
|
# This script initializes the container environment and starts all services
|
|
|
|
|
|
|
|
|
|
set -e
|
|
|
|
|
|
|
|
|
|
echo "========================================"
|
|
|
|
|
echo " RunPod AI Orchestrator - Starting"
|
|
|
|
|
echo "========================================"
|
|
|
|
|
|
|
|
|
|
# [1/7] Start SSH server (required by RunPod)
|
|
|
|
|
echo "[1/7] Starting SSH server..."
|
|
|
|
|
mkdir -p ~/.ssh
|
|
|
|
|
chmod 700 ~/.ssh
|
|
|
|
|
echo "$PUBLIC_KEY" >> ~/.ssh/authorized_keys
|
|
|
|
|
chmod 700 ~/.ssh/authorized_keys
|
|
|
|
|
service ssh start
|
|
|
|
|
echo " ✓ SSH server started"
|
|
|
|
|
|
|
|
|
|
# [2/7] Cloning repositories
|
|
|
|
|
echo "[2/7] Cloning repositories..."
|
|
|
|
|
ssh-keyscan -p 2222 -t rsa dev.pivoine.art >> ~/.ssh/known_hosts
|
|
|
|
|
chmod 700 ~/.ssh/known_hosts
|
|
|
|
|
if [ ! -d "$PWD/bin" ] ; then
|
|
|
|
|
git clone https://dev.pivoine.art/valknar/bin.git "$PWD/bin"
|
|
|
|
|
echo " ✓ bin cloned"
|
|
|
|
|
else
|
2025-11-26 18:04:53 +01:00
|
|
|
cd "$PWD/bin" && git fetch && git reset --hard origin/main
|
2025-11-26 15:31:41 +01:00
|
|
|
echo " ✓ bin updated"
|
|
|
|
|
cd -
|
|
|
|
|
fi
|
|
|
|
|
if [ ! -d "$PWD/orchestrator" ] ; then
|
|
|
|
|
git clone https://dev.pivoine.art/valknar/runpod-ai-orchestrator.git "$PWD/orchestrator"
|
|
|
|
|
echo " ✓ orchestrator cloned"
|
|
|
|
|
else
|
2025-11-26 18:04:53 +01:00
|
|
|
cd "$PWD/orchestrator" && git fetch && git reset --hard origin/main
|
2025-11-26 15:31:41 +01:00
|
|
|
echo " ✓ orchestrator updated"
|
|
|
|
|
cd -
|
|
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
# [3/7] Add $PWD/bin to PATH for arty and custom scripts
|
|
|
|
|
echo "[3/7] Configuring PATH..."
|
|
|
|
|
ln -sf "$PWD/bin/artifact_git_download.sh" /usr/local/bin/arty
|
|
|
|
|
export PATH="$PWD/bin:$PATH"
|
|
|
|
|
echo " ✓ PATH updated: $PWD/bin added"
|
|
|
|
|
|
|
|
|
|
# [4/7] Setting up with arty
|
|
|
|
|
echo "[4/7] Setting up with arty..."
|
2025-11-27 11:41:21 +01:00
|
|
|
if [ ! "$SKIP_ARTY_SETUP" ] ; then
|
|
|
|
|
cd "$PWD/orchestrator"
|
|
|
|
|
arty setup
|
|
|
|
|
cd -
|
|
|
|
|
echo " ✓ Setup complete"
|
|
|
|
|
else
|
|
|
|
|
echo " ⏭ Skipping"
|
|
|
|
|
fi
|
2025-11-26 15:31:41 +01:00
|
|
|
|
|
|
|
|
# Display connection information
|
|
|
|
|
echo ""
|
|
|
|
|
echo "========================================"
|
|
|
|
|
echo " Container Ready"
|
|
|
|
|
echo "========================================"
|
|
|
|
|
echo "Services:"
|
|
|
|
|
echo " - SSH: port 22"
|
|
|
|
|
if [ -n "${TAILSCALE_IP:-}" ] && [ "$TAILSCALE_IP" != "not connected" ]; then
|
|
|
|
|
echo " - Tailscale IP: $TAILSCALE_IP"
|
|
|
|
|
fi
|
|
|
|
|
echo ""
|
|
|
|
|
echo "========================================"
|
|
|
|
|
|
|
|
|
|
# Keep container running
|
|
|
|
|
echo "Container is running. Press Ctrl+C to stop."
|
|
|
|
|
sleep infinity
|