Files
john 67d529c81e fix(mindspace): keep standalone service data paths under MindSpace root
Prevent Portal .env from overriding MindSpace storage/users roots, and
set launchd env plus runtime docs to use /Users/john/MindSpace paths.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-07-12 18:06:16 +08:00

68 lines
2.4 KiB
Bash

#!/usr/bin/env bash
set -euo pipefail
ROOT="$(cd "$(dirname "$0")/.." && pwd)"
MEMIND_ROOT="${MEMIND_SHARED_ROOT:-/Users/john/Project/Memind}"
# The standalone MindSpace service may read shared Memind secrets from the
# Portal env, but its own data roots must stay owned by the standalone service
# root. Preserve explicitly inherited standalone root overrides, then clear any
# values that may be sourced from the monolith env below.
EXPLICIT_MINDSPACE_SERVICE_H5_ROOT="${MINDSPACE_SERVICE_H5_ROOT-}"
EXPLICIT_MINDSPACE_STORAGE_ROOT="${MINDSPACE_STORAGE_ROOT-}"
EXPLICIT_H5_USERS_ROOT="${H5_USERS_ROOT-}"
if [[ -f "${MEMIND_ROOT}/.env" ]]; then
set -a
# shellcheck disable=SC1090
source "${MEMIND_ROOT}/.env"
set +a
fi
if [[ -z "${EXPLICIT_MINDSPACE_SERVICE_H5_ROOT}" ]]; then
unset MINDSPACE_SERVICE_H5_ROOT
fi
if [[ -z "${EXPLICIT_MINDSPACE_STORAGE_ROOT}" ]]; then
unset MINDSPACE_STORAGE_ROOT
fi
if [[ -z "${EXPLICIT_H5_USERS_ROOT}" ]]; then
unset H5_USERS_ROOT
fi
if [[ -f "${ROOT}/.env" ]]; then
set -a
# shellcheck disable=SC1090
source "${ROOT}/.env"
set +a
fi
if [[ -n "${EXPLICIT_MINDSPACE_SERVICE_H5_ROOT}" ]]; then
export MINDSPACE_SERVICE_H5_ROOT="${EXPLICIT_MINDSPACE_SERVICE_H5_ROOT}"
fi
if [[ -n "${EXPLICIT_MINDSPACE_STORAGE_ROOT}" ]]; then
export MINDSPACE_STORAGE_ROOT="${EXPLICIT_MINDSPACE_STORAGE_ROOT}"
fi
if [[ -n "${EXPLICIT_H5_USERS_ROOT}" ]]; then
export H5_USERS_ROOT="${EXPLICIT_H5_USERS_ROOT}"
fi
export NODE_ENV=production
export MINDSPACE_MEMIND_ROOT="${MINDSPACE_MEMIND_ROOT:-${ROOT}/memind-source}"
export MINDSPACE_SERVICE_H5_ROOT="${MINDSPACE_SERVICE_H5_ROOT:-${MEMIND_ROOT}}"
export MINDSPACE_STORAGE_ROOT="${MINDSPACE_STORAGE_ROOT:-${ROOT}/data/mindspace}"
export H5_USERS_ROOT="${H5_USERS_ROOT:-${ROOT}/users}"
export MINDSPACE_SERVICE_PORT="${MINDSPACE_SERVICE_PORT:-8082}"
export MINDSPACE_SERVICE_HOST="${MINDSPACE_SERVICE_HOST:-127.0.0.1}"
export MINDSPACE_REMOTE_AUTH_TOKEN="${MINDSPACE_REMOTE_AUTH_TOKEN:-${TKMIND_SERVER__SECRET_KEY:-}}"
export MINDSPACE_SERVICE_AGENT_WORKER_ENABLED="${MINDSPACE_SERVICE_AGENT_WORKER_ENABLED:-true}"
export MINDSPACE_SERVICE_WORKSPACE_MAINTENANCE="${MINDSPACE_SERVICE_WORKSPACE_MAINTENANCE:-true}"
NODE_BIN="${NODE_BIN:-/opt/homebrew/opt/node@24/bin/node}"
if [[ ! -x "${NODE_BIN}" ]]; then
NODE_BIN="$(command -v node)"
fi
export NODE_PATH="${ROOT}/node_modules"
exec "${NODE_BIN}" "${ROOT}/server.mjs"