Files
symclaw/scripts/docker-run.sh
T

44 lines
1.0 KiB
Bash
Executable File

#!/usr/bin/env bash
set -euo pipefail
IMAGE="ghcr.io/symclaw/symclaw:latest"
CONTAINER_NAME="symclaw"
REPL=false
while [[ $# -gt 0 ]]; do
case "$1" in
--repl) REPL=true; shift ;;
*) echo "Usage: $0 [--repl]"; exit 1 ;;
esac
done
# Build if image doesn't exist locally
if ! docker image inspect "$IMAGE" &>/dev/null; then
echo "Image not found locally, building…"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
"$SCRIPT_DIR/docker-build.sh"
fi
mkdir -p "${HOME}/.symclaw"
if $REPL; then
echo "Starting SymClaw interactive REPL…"
exec docker run --rm -it \
--name "${CONTAINER_NAME}-repl" \
-v "${HOME}/.symclaw:/root/.symclaw" \
-e RUST_LOG=info \
"$IMAGE" \
/usr/local/bin/symclaw
else
echo "Starting SymClaw skill daemon…"
exec docker run --rm -d \
--name "$CONTAINER_NAME" \
-p 18789:18789 \
-p 3000:3000 \
-v symclaw-data:/data \
-v "${HOME}/.symclaw:/root/.symclaw" \
-e RUST_LOG=info \
-e SYMCLAW_ENGINE=native \
"$IMAGE"
fi