#! /bin/sh
SOLO_NAME=${SOLO_NAME-agoric}
SOLO_HOME=${SOLO_HOME-$SOLO_NAME}
IMAGE=agoric/cosmic-swingset-solo
PORT=${PORT-8000}
HOST_PORT=${HOST_PORT-$PORT}
FLAGS=
case "$1" in
--pull)
  shift
  docker pull "$IMAGE"
  ;;
esac

if test "$1" = shell; then
  FLAGS=--entrypoint=/bin/bash
  shift
elif test "$1" = upload-contract; then
  shift
  exec `dirname "$0"`/../bin/ag-solo upload-contract --ag-solo=ws://127.0.0.1:$HOST_PORT/private/captp ${1+"$@"}
  exit $?
else
  FLAGS=-p127.0.0.1:$HOST_PORT:$PORT
fi
exec docker run \
  --volume=ag-solo-state:/usr/src/app/solo \
  --volume=$HOME/.agoric:/root/.agoric \
  -eAG_SOLO_BASEDIR="$SOLO_HOME" \
  --rm -it $FLAGS \
  "$IMAGE" ${1+"$@"}
