69 lines
2.0 KiB
Bash
69 lines
2.0 KiB
Bash
#!/usr/bin/env bash
|
|
set -euo pipefail
|
|
|
|
ROOT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
|
LOG_DIR="$ROOT_DIR/.tmp/backend-logs"
|
|
DATABASE_URL="${DATABASE_URL:-postgres://fable:fable_dev_password@127.0.0.1:5432/fable?sslmode=disable}"
|
|
TOKEN_SECRET="${TOKEN_SECRET:-local-dev-secret-change-me}"
|
|
TOKEN_TTL="${TOKEN_TTL:-24h}"
|
|
mkdir -p "$LOG_DIR"
|
|
|
|
pids=()
|
|
|
|
cleanup() {
|
|
for pid in "${pids[@]:-}"; do
|
|
if kill -0 "$pid" >/dev/null 2>&1; then
|
|
kill "$pid" >/dev/null 2>&1 || true
|
|
fi
|
|
done
|
|
}
|
|
|
|
trap cleanup EXIT INT TERM
|
|
|
|
start_service() {
|
|
local name="$1"
|
|
local port="$2"
|
|
echo "Starting $name service on :$port"
|
|
(cd "$ROOT_DIR/services" && PORT="$port" DATABASE_URL="$DATABASE_URL" TOKEN_SECRET="$TOKEN_SECRET" TOKEN_TTL="$TOKEN_TTL" go run "./cmd/$name") >"$LOG_DIR/$name.log" 2>&1 &
|
|
pids+=("$!")
|
|
}
|
|
|
|
start_service auth 8081
|
|
start_service user 8082
|
|
start_service content 8083
|
|
start_service taxonomy 8084
|
|
start_service speaker 8085
|
|
start_service subscription 8086
|
|
start_service notification 8087
|
|
start_service comment 8088
|
|
start_service search 8089
|
|
start_service analytics 8090
|
|
start_service audit 8091
|
|
start_service media 8092
|
|
|
|
echo "Building Node gateway"
|
|
npm --workspace @fable/gateway run build
|
|
|
|
echo "Starting Node gateway on :3000"
|
|
AUTH_SERVICE_URL=http://127.0.0.1:8081 \
|
|
USER_SERVICE_URL=http://127.0.0.1:8082 \
|
|
CONTENT_SERVICE_URL=http://127.0.0.1:8083 \
|
|
TAXONOMY_SERVICE_URL=http://127.0.0.1:8084 \
|
|
SPEAKER_SERVICE_URL=http://127.0.0.1:8085 \
|
|
SUBSCRIPTION_SERVICE_URL=http://127.0.0.1:8086 \
|
|
NOTIFICATION_SERVICE_URL=http://127.0.0.1:8087 \
|
|
COMMENT_SERVICE_URL=http://127.0.0.1:8088 \
|
|
SEARCH_SERVICE_URL=http://127.0.0.1:8089 \
|
|
ANALYTICS_SERVICE_URL=http://127.0.0.1:8090 \
|
|
AUDIT_SERVICE_URL=http://127.0.0.1:8091 \
|
|
MEDIA_SERVICE_URL=http://127.0.0.1:8092 \
|
|
GATEWAY_PORT=3000 \
|
|
node "$ROOT_DIR/apps/gateway/dist/index.js" &
|
|
pids+=("$!")
|
|
|
|
echo "Backend is running. Logs: $LOG_DIR"
|
|
echo "Gateway health: http://localhost:3000/health"
|
|
echo "Press Ctrl+C to stop."
|
|
|
|
wait
|