44 lines
1.0 KiB
Bash
Executable File
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
|