diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json new file mode 100644 index 00000000..3849db7f --- /dev/null +++ b/.devcontainer/devcontainer.json @@ -0,0 +1,30 @@ +{ + "name": "Row Boat Labs Dev Container Setup", + "image": "mcr.microsoft.com/devcontainers/base:ubuntu-22.04", + "settings": { + "terminal.integrated.defaultProfile.linux": "bash" + }, + "initializeCommand": "make ensure-dirs && make set-env", + "features": { + "ghcr.io/devcontainers/features/docker-in-docker:2": {} + }, + "customizations": { + "vscode": { + "extensions": [ + "ms-azuretools.vscode-docker", + "ms-vscode.makefile-tools" + ] + } + }, + "remoteEnv": { + "USE_RAG": "true", + "USE_RAG_UPLOADS": "true", + "USE_KLAVIS_TOOLS": "true", + "USE_COMPOSIO_TOOLS": "${localEnv:COMPOSIO_API_KEY:false}" + }, + "mounts": [ + "type=bind,source=${localWorkspaceFolder}/data/uploads,target=/workspace/data/uploads,consistency=cached", + "type=bind,source=${localWorkspaceFolder}/data/qdrant,target=/workspace/data/qdrant,consistency=cached", + "type=bind,source=${localWorkspaceFolder}/data/mongo,target=/workspace/data/mongo,consistency=cached" + ] +} \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 00000000..f09e40e8 --- /dev/null +++ b/Makefile @@ -0,0 +1,27 @@ +# Ensure data directories exist +.PHONY: ensure-dirs +ensure-dirs: + mkdir -p data/uploads + mkdir -p data/qdrant + mkdir -p data/mongo + +# Set environment variables +.PHONY: set-env +set-env: + export USE_RAG=true + export USE_RAG_UPLOADS=true + @if [ -n "$$COMPOSIO_API_KEY" ]; then \ + export USE_COMPOSIO_TOOLS=true; \ + fi + export USE_KLAVIS_TOOLS=true + +# Run the Docker Compose command +.PHONY: start +start: ensure-dirs set-env + @CMD="docker compose"; \ + CMD="$$CMD --profile setup_qdrant"; \ + CMD="$$CMD --profile qdrant"; \ + CMD="$$CMD --profile rag-worker"; \ + CMD="$$CMD up --build"; \ + echo "Running: $$CMD"; \ + eval $$CMD \ No newline at end of file