Skip to content

Run the entire bee application stack using docker-compose

License

Notifications You must be signed in to change notification settings

i-am-bee/bee-stack

Repository files navigation

🐝 Bee Stack

Bee Stack Demo Video

The Bee Stack repository provides everything you need to run the Bee Application Stack locally using Docker Compose. This setup allows you to run, test, and experiment with Bee's various components seamlessly.

🧩 Bee Stack Components

The Bee Stack comprises the following components, each contributing distinct functionalities to support your AI-driven applications:

architecture

🔧 Pre-requisities

Docker or similar container engine including docker compose (Rancher desktop or Podman)

⚠️ IMPORTANT: Make sure your VM has at least 8GB of RAM configured

⚠️ Warning: A rootless machine is not supported (e.g. if you use podman, set your VM to rootful)

🏃‍♀️ Usage

Inital setup

git clone https://github.com/i-am-bee/bee-stack.git
cd bee-stack
# Run setup script to configure LLM provider and start the stack
./bee-stack.sh setup

Commands

You can use the following commands

./bee-stack.sh start # start the stack (this can take a while)
./bee-stack.sh stop  # stop the stack without removing data
./bee-stack.sh clean # remove data
./bee-stack.sh setup # reconfigure (e.g. to switch LLM provider)

Once started you can find use the following URLs:

⛓️‍💥 Troubleshooting

Please see our troubleshoting guide for help with the most common issues.

If you run through the troubleshooting guide and bee-stack is still crashing, please collect the logs using ./bee-stack.sh logs and submit them to a new issue at: https://github.com/i-am-bee/bee-agent-framework/issues/new?template=run_stack_issue.md

👷 Advanced

Custom models

To create a bee with a custom model other than the default for the provider, you can use the API through bee-python-sdk or directly:

curl -X POST \
  "${BEE_API:-localhost:4000}/v1/assistants" \
  -H "Authorization: Bearer ${BEE_API_KEY:-sk-proj-testkey}" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my bee with a custom model",
    "model": "meta-llama/llama-3-1-8b-instruct"
  }'

You can then find edit the bee in the UI (assign tools, role, etc.)

Manual configuration

If the setup script is not working for you (e.g. you don't have bash installed), you can configure .env manually, have a look at example.env file.

⚠️ Warning: If you change providers, the default bee will stop working, because it is configured with a model from the previous provider. You should create a new Bee or remove all data using docker compose --profile all down --volumes.

Advanced docker compose commands

You can use any typical compose commands to inspect the state of the services:

# Docker
docker compose ps
docker compose logs bee-api

# Podman
podman compose ps
podman compose logs bee-api

For developers

If you are a developer on bee-api or bee-ui and want to run only the supporting infrastructure, use the profile infra, e.g.:

./bee-stack.sh start:infra

Contribution guidelines

The Bee Agent Framework is an open-source project and we ❤️ contributions.

If you'd like to contribute to Bee, please take a look at our contribution guidelines.

Contributors

Special thanks to our contributors for helping us improve Bee Agent Framework.

Contributors list

About

Run the entire bee application stack using docker-compose

Topics

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages