Refactor Paperclip installation script for variable usage
This commit is contained in:
@@ -42,6 +42,9 @@ $STD npm install -g \
|
||||
msg_ok "Installed Agent CLIs"
|
||||
|
||||
msg_info "Configuring Paperclip"
|
||||
PAPERCLIP_HOME="/opt/paperclip-data"
|
||||
PAPERCLIP_CONFIG="${PAPERCLIP_HOME}/instances/default/config.json"
|
||||
|
||||
mkdir -p /opt/paperclip-data
|
||||
mkdir -p /root/.claude /root/.codex
|
||||
BETTER_AUTH_SECRET=$(openssl rand -hex 32)
|
||||
@@ -50,8 +53,8 @@ DATABASE_URL=postgresql://${PG_DB_USER}:${PG_DB_PASS}@127.0.0.1:5432/${PG_DB_NAM
|
||||
HOST=0.0.0.0
|
||||
PORT=3100
|
||||
SERVE_UI=true
|
||||
PAPERCLIP_HOME=/opt/paperclip-data
|
||||
PAPERCLIP_CONFIG=/opt/paperclip-data/instances/default/config.json
|
||||
PAPERCLIP_HOME=${PAPERCLIP_HOME}
|
||||
PAPERCLIP_CONFIG=${PAPERCLIP_CONFIG}
|
||||
PAPERCLIP_INSTANCE_ID=default
|
||||
PAPERCLIP_DEPLOYMENT_MODE=authenticated
|
||||
PAPERCLIP_DEPLOYMENT_EXPOSURE=private
|
||||
@@ -74,13 +77,13 @@ for PAPERCLIP_ONBOARD_CMD in \
|
||||
"pnpm paperclipai onboard --yes"; do
|
||||
rm -f "$PAPERCLIP_ONBOARD_LOG"
|
||||
setsid env \
|
||||
PAPERCLIP_HOME="/opt/paperclip-data" \
|
||||
PAPERCLIP_CONFIG="/opt/paperclip-data/instances/default/config.json" \
|
||||
PAPERCLIP_HOME="${PAPERCLIP_HOME}" \
|
||||
PAPERCLIP_CONFIG=${PAPERCLIP_CONFIG}" \
|
||||
bash -c "cd /opt/paperclip-ai && ${PAPERCLIP_ONBOARD_CMD}" \
|
||||
>"$PAPERCLIP_ONBOARD_LOG" 2>&1 &
|
||||
PAPERCLIP_ONBOARD_PID=$!
|
||||
for _ in {1..60}; do
|
||||
if [[ -f /opt/paperclip-data/instances/default/config.json ]]; then
|
||||
if [[ -f "$PAPERCLIP_CONFIG" ]]; then
|
||||
break
|
||||
fi
|
||||
if ! kill -0 "$PAPERCLIP_ONBOARD_PID" 2>/dev/null; then
|
||||
@@ -92,19 +95,19 @@ for PAPERCLIP_ONBOARD_CMD in \
|
||||
kill -- -"${PAPERCLIP_ONBOARD_PID}" >/dev/null 2>&1 || true
|
||||
wait "$PAPERCLIP_ONBOARD_PID" 2>/dev/null || true
|
||||
fi
|
||||
[[ -f /opt/paperclip-data/instances/default/config.json ]] && break
|
||||
[[ -f "$PAPERCLIP_CONFIG" ]] && break
|
||||
if ! grep -q "unknown option '--bind'" "$PAPERCLIP_ONBOARD_LOG"; then
|
||||
break
|
||||
fi
|
||||
msg_info "Retrying Paperclip Onboarding"
|
||||
done
|
||||
|
||||
if [[ ! -f /opt/paperclip-data/instances/default/config.json ]]; then
|
||||
if [[ ! -f "$PAPERCLIP_CONFIG" ]]; then
|
||||
msg_error "Failed to bootstrap Paperclip"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if grep -q 'authenticated' /opt/paperclip-data/instances/default/config.json; then
|
||||
if grep -q 'authenticated' $PAPERCLIP_CONFIG; then
|
||||
pnpm paperclipai auth bootstrap-ceo >"$PAPERCLIP_BOOTSTRAP_LOG" 2>&1 || true
|
||||
PAPERCLIP_INVITE_URL=$(awk -F'Invite URL: ' '/Invite URL:/ {print $2; exit}' "$PAPERCLIP_BOOTSTRAP_LOG")
|
||||
PAPERCLIP_INVITE_EXPIRY=$(awk -F'Expires: ' '/Expires:/ {print $2; exit}' "$PAPERCLIP_BOOTSTRAP_LOG")
|
||||
|
||||
Reference in New Issue
Block a user