All checks were successful
Build and Push RunPod Docker Image / build-and-push (push) Successful in 1m27s
82 lines
2.2 KiB
Bash
82 lines
2.2 KiB
Bash
#!/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/6] Start SSH server (required by RunPod)
|
|
echo "[1/6] 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/6] Cloning repositories
|
|
echo "[2/6] 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
|
|
cd "$PWD/bin" && git fetch && git reset --hard origin/main
|
|
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
|
|
cd "$PWD/orchestrator" && git fetch && git reset --hard origin/main
|
|
echo " ✓ orchestrator updated"
|
|
cd -
|
|
fi
|
|
|
|
# [3/6] Add $PWD/bin to PATH for arty and custom scripts
|
|
echo "[3/6] Configuring PATH..."
|
|
ln -sf "$PWD/bin/artifact_git_download.sh" /usr/local/bin/arty
|
|
cp -s $PWD/bin/*.sh /usr/local/bin/
|
|
echo " ✓ PATH updated: $PWD/bin added"
|
|
|
|
# [4/6] Setting up with arty
|
|
echo "[4/6] Setting up with arty..."
|
|
if [ ! "$SKIP_ARTY_SETUP" ] ; then
|
|
cd "$PWD/orchestrator"
|
|
arty setup
|
|
cd -
|
|
echo " ✓ Setup complete"
|
|
else
|
|
echo " ⏭ Skipping"
|
|
fi
|
|
|
|
# [5/6] Setting up tailscale
|
|
echo "[5/6] Starting tailscale..."
|
|
cd "$PWD/orchestrator"
|
|
arty tailscale/start
|
|
cd -
|
|
echo " ✓ Started successfully"
|
|
|
|
# [6/6] Starting supervisor
|
|
echo "[6/6] Starting supervisor..."
|
|
cd "$PWD/orchestrator"
|
|
arty supervisor/start
|
|
cd -
|
|
echo " ✓ Started successfully"
|
|
|
|
# Display connection information
|
|
echo ""
|
|
echo "========================================"
|
|
echo " Container Ready"
|
|
echo "========================================"
|
|
echo "========================================"
|
|
|
|
# Keep container running
|
|
echo "Container is running. Press Ctrl+C to stop."
|
|
sleep infinity
|