Spaces:
Running
Running
File size: 6,227 Bytes
eb60b6b | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 | start-milvus:
docker compose -f src/lib/milvus/docker-compose.yaml up -d
stop-milvus:
docker compose -f src/lib/milvus/docker-compose.yaml down
delete-milvus-volumes:
docker compose -f src/lib/milvus/docker-compose.yaml down -v --remove-orphans
start-rabbitmq:
docker compose -f src/lib/rabbitmq/docker-compose.yaml up -d
stop-rabbitmq:
docker compose -f src/lib/rabbitmq/docker-compose.yaml down
delete-rabbitmq-volumes:
docker compose -f src/lib/rabbitmq/docker-compose.yaml down -v --remove-orphans
start-redis:
docker compose -f src/lib/redis/docker-compose.yaml up -d
stop-redis:
docker compose -f src/lib/redis/docker-compose.yaml down
delete-redis-volumes:
docker compose -f src/lib/redis/docker-compose.yaml down -v --remove-orphans
start-neo4j:
docker compose -f src/lib/neo4j/docker-compose.yaml up -d
stop-neo4j:
docker compose -f src/lib/neo4j/docker-compose.yaml down
delete-neo4j-volumes:
docker compose -f src/lib/neo4j/docker-compose.yaml down -v --remove-orphans
build-neo4j-extension:
docker run --rm -v $(PWD)/src/lib/neo4j:/app -w /app maven:3.9-eclipse-temurin-17 mvn compile
package-neo4j-extension:
docker run --rm -v $(PWD)/src/lib/neo4j:/app -w /app maven:3.9-eclipse-temurin-17 mvn package -DskipTests
start-mongo:
docker compose -f src/lib/mongo/docker-compose.yaml up -d
stop-mongo:
docker compose -f src/lib/mongo/docker-compose.yaml down
delete-mongo-volumes:
docker compose -f src/lib/mongo/docker-compose.yaml down -v --remove-orphans
start-api:
ENV=development CONSOLE_ENABLED=true poetry run python -m uvicorn src.services.api.app:app --host 0.0.0.0 --port 8000 --access-log --log-level info --reload --reload-dir src
stop-api:
pkill -f "uvicorn src.services.api.app"
start-mcp:
ENV=development poetry run python -m uvicorn src.services.mcp.app:app --host 0.0.0.0 --port 8001 --access-log --log-level info --reload --reload-dir src
MCP_BRIDGE_DIR := mcp-stdio-http-bridge
MCP_BRIDGE_VERSION := $(shell grep '^version = ' $(MCP_BRIDGE_DIR)/Cargo.toml | head -1 | sed 's/version = "\(.*\)"/\1/')
MCP_BRIDGE_TAG := mcp-bridge-v$(MCP_BRIDGE_VERSION)
MCP_BRIDGE_TOOLCHAIN := $(shell grep 'channel = ' $(MCP_BRIDGE_DIR)/rust-toolchain.toml | sed 's/.*"\(.*\)"/\1/')
build-mcp-bridge:
cd $(MCP_BRIDGE_DIR) && cargo build --release
install-mcp-bridge-targets:
rustup target add x86_64-apple-darwin --toolchain $(MCP_BRIDGE_TOOLCHAIN)
build-mcp-bridge-x86: install-mcp-bridge-targets
cd $(MCP_BRIDGE_DIR) && cargo build --release --target x86_64-apple-darwin
build-mcp-bridge-all: build-mcp-bridge build-mcp-bridge-x86
push-mcp-bridge-packages: build-mcp-bridge-all
@mkdir -p $(MCP_BRIDGE_DIR)/dist && \
cp $(MCP_BRIDGE_DIR)/target/release/mcp-stdio-http-bridge $(MCP_BRIDGE_DIR)/dist/mcp-stdio-http-bridge-aarch64-apple-darwin && \
cp $(MCP_BRIDGE_DIR)/target/x86_64-apple-darwin/release/mcp-stdio-http-bridge $(MCP_BRIDGE_DIR)/dist/mcp-stdio-http-bridge-x86_64-apple-darwin && \
gh release create $(MCP_BRIDGE_TAG) \
$(MCP_BRIDGE_DIR)/dist/mcp-stdio-http-bridge-aarch64-apple-darwin \
$(MCP_BRIDGE_DIR)/dist/mcp-stdio-http-bridge-x86_64-apple-darwin \
--title "MCP stdio-http bridge $(MCP_BRIDGE_VERSION)" \
--notes "Binary builds for macOS (Apple Silicon and Intel)."
start-nginx:
docker compose -f src/services/webserver/docker-compose.yaml up -d --force-recreate
stop-mcp:
pkill -f "uvicorn src.services.mcp.app"
DEBUG_ENVS := LANGCHAIN_DEBUG="true" LANGCHAIN_VERBOSE="true" DEBUG="true"
start-all:
@if [ "$(filter debug,$(MAKECMDGOALS))" = "debug" ] || [ "$$DEBUG" = "true" ]; then \
echo "DEBUG mode enabled"; \
$(MAKE) start-milvus DEBUG=true & \
$(MAKE) start-rabbitmq DEBUG=true & \
$(MAKE) start-redis DEBUG=true & \
$(MAKE) start-neo4j DEBUG=true & \
$(MAKE) start-mongo DEBUG=true & \
$(MAKE) start-mcp DEBUG=true & \
ENV="development" $(MAKE) start-api DEBUG=true & \
bash -c "export $(DEBUG_ENVS) ENV="development" && poetry run celery -A src.workers.app worker --loglevel=info --pool=threads"; \
else \
$(MAKE) start-milvus & \
$(MAKE) start-rabbitmq & \
$(MAKE) start-redis & \
$(MAKE) start-neo4j & \
$(MAKE) start-mongo & \
$(MAKE) start-mcp & \
ENV="development" $(MAKE) start-api & \
ENV="development" poetry run celery -A src.workers.app worker --loglevel=info --pool=threads; \
fi
debug:
@:
stop-all:
make stop-milvus
make stop-rabbitmq
make stop-redis
make stop-neo4j
make stop-mongo
make stop-api
make stop-mcp
pkill -f celery
clear-all-volumes:
make delete-milvus-volumes
make delete-rabbitmq-volumes
make delete-redis-volumes
make delete-neo4j-volumes
make delete-mongo-volumes
VERSION := $(shell grep '^version = ' pyproject.toml | sed 's/version = "\(.*\)"/\1/')
container-build:
docker build --no-cache --platform linux/amd64 -t ghcr.io/lumen-labs/brainapi:v$(VERSION) ./
docker tag ghcr.io/lumen-labs/brainapi:v$(VERSION) ghcr.io/lumen-labs/brainapi:latest
container-push:
docker push ghcr.io/lumen-labs/brainapi:v$(VERSION)
docker push ghcr.io/lumen-labs/brainapi:latest
container-release:
BUILD_DATE=$$(date -u +'%Y-%m-%dT%H:%M:%SZ')
BUILD_SHA=$$(git rev-parse HEAD || echo "unknown")
CACHE_BUST=$$(date +%s)
docker build --no-cache \
--build-arg BUILD_DATE="$$BUILD_DATE" \
--build-arg BUILD_SHA="$$BUILD_SHA" \
--build-arg CACHE_BUST="$$CACHE_BUST" \
--platform linux/amd64 \
--label org.opencontainers.image.source="https://github.com/lumen-labs/brainapi2" \
-t ghcr.io/lumen-labs/brainapi:v$(VERSION) ./
docker tag ghcr.io/lumen-labs/brainapi:v$(VERSION) ghcr.io/lumen-labs/brainapi:latest
git tag -s v$(VERSION) -m "Release v$(VERSION)"
docker push ghcr.io/lumen-labs/brainapi:v$(VERSION)
docker push ghcr.io/lumen-labs/brainapi:latest
git push origin v$(VERSION)
v-patch:
poetry version patch
v-minor:
poetry version minor
v-major:
poetry version major
install-base:
poetry install
install-extras:
poetry run python scripts/install_extras.py
install-extras-all:
poetry run python scripts/install_extras.py --all
check-extras:
poetry run python scripts/install_extras.py --check
build-console:
cd console && npm install && npm run build
start-console-dev:
cd console && npm install && npm run dev |