Skip to main content
Version: v2.0

Development Mode in Agenta

This guide explains how to run Agenta locally in development mode while you work on the codebase.

Start Agenta In Development Mode

Development mode builds the services from your local source code and mounts that code into the containers, so most changes reload without a rebuild.

1. Clone The Repository

git clone https://github.com/Agenta-AI/agenta.git
cd agenta

2. Configure The Environment

Copy the example env file:

cp hosting/docker-compose/oss/env.oss.dev.example hosting/docker-compose/oss/.env.oss.dev

The dev stack reads this file. If you are running locally, the defaults are fine. If you are running on a remote server, open .env.oss.dev and replace localhost with your server's address in the three URL variables (AGENTA_WEB_URL, AGENTA_API_URL, and AGENTA_SERVICES_URL).

3. Launch The Stack

From the repository root:

./hosting/docker-compose/run.sh --oss --dev

The first run builds the Docker images, so it takes a few minutes.

If you want to run the Next.js web app on your machine instead of inside Docker, use:

./hosting/docker-compose/run.sh --oss --dev --web-local

This starts the stack without the web container, installs the web dependencies, and runs pnpm dev for you. The web app is then at http://localhost:3000. If you only want to skip the web container and manage the web app yourself, use --no-web instead.

4. Verify The Installation

Open your browser and go to http://localhost. If you see the Agenta web interface, the setup is working.

Reload, Recreate, Or Rebuild

Development mode mounts the source code into the containers, so most changes apply on their own:

  • The API container runs uvicorn with --reload. Saving a file under api/ or the Python SDK under sdks/python/ restarts the server automatically.
  • The web container runs next dev. Saving a file under web/ hot-reloads in the browser.

Two kinds of changes need more than a save:

  • A changed environment variable needs a recreate, because containers read the env file only when they are created:

    ./hosting/docker-compose/run.sh --oss --dev --recreate api
  • A new dependency (a Python package or an npm package) or a Dockerfile change needs a rebuild of that service's image:

    ./hosting/docker-compose/run.sh --oss --dev --rebuild api

    Use --rebuild web for the web container. To rebuild everything, add --build to the launch command.

Debugging The Backend

The easiest way to debug the backend is to read the API container's logs. The dev stack's Docker Compose project is named agenta-oss-dev, so:

docker logs -f agenta-oss-dev-api-1

If you prefer a UI, open the container in Docker Desktop or in the Docker tab of Visual Studio Code and click Logs.