---
title: "Set Up Locally"
url: "https://docs.caracal.run/contributing/setup/"
markdown_url: "https://docs.caracal.run/markdown/contributing/setup.md"
description: "Install dependencies and start a local Caracal development stack."
page_type: "workflow"
concepts: []
requires: []
---

# Set Up Locally

Canonical URL: https://docs.caracal.run/contributing/setup/
Markdown URL: https://docs.caracal.run/markdown/contributing/setup.md
Description: Install dependencies and start a local Caracal development stack.
Page type: workflow
Concepts: none
Requires: none

---

## Prerequisites

| Tool | Version |
| --- | --- |
| Node.js | 24+ |
| pnpm | 11.1.1 |
| Docker + Compose v2 | 24+ |
| Go | 1.26+ |
| Python | 3.14+ |
| Bun | latest stable used by package scripts |

## Install Dependencies

```bash
git clone https://github.com/Garudex-Labs/caracal.git
cd caracal
pnpm install
```

`pnpm install` is the standard dependency install command for the Node workspace. Run `pnpm run setup` when you need the full cross-platform developer environment: it runs `pnpm install`, downloads Go module dependencies, creates `.venv`, installs Python test and style tools, and installs local Python packages in editable mode.

## Start the Local Stack

```bash
pnpm secrets:init
pnpm caracal up
pnpm caracal status --ready
```

The local stack uses `infra/docker/docker-compose.yml`, builds local service images, and binds service ports to loopback.

## Open the Web Console

```bash
pnpm caracal web
```

Use the web console for zones, applications, providers, resources, policies, sessions, audit, agents, delegation, diagnostics, and Control. Do not expect top-level runtime CLI commands for product management.

## Stop or Reset

```bash
pnpm caracal down
pnpm caracal purge
```

Use `purge` only when you intentionally want to remove local stack/runtime state.

## Next Step

Read [Follow Project Standards](/contributing/style/) before editing source files.

## Related Pages

- [Runtime and Web Console](/runtime-console/)
- [Deploy with Docker Compose](/operations/docker-compose/)
- [Validate Changes](/contributing/testing/)
