2025-12-27 09:25:20 +05:30
---
title: Setup
description: You can use this document to setup the dev environment for yourself.
---
<Note>
If the below steps do not work out for you, it would be great if you can open an issue on [Github](https://github.com/dograh-hq/dograh/issues).
</Note>
### System Requirements
- git to clone the forked repository
2026-04-03 06:34:13 +05:00
- Node.js 24 to run the UI (we recommend using [NVM](https://github.com/nvm-sh/nvm) on macOS/Linux or [NVM for Windows](https://github.com/coreybutler/nvm-windows) on Windows to manage your node versions locally)
2025-12-27 09:25:20 +05:30
- Python 3.13 to run the backend
- Docker to run the database and redis cache locally
2026-04-03 06:34:13 +05:00
<Note>
All commands below are shown for **macOS / Linux**. Expand the **Windows** tab for the PowerShell equivalent where it differs.
</Note>
2025-12-27 09:25:20 +05:30
### Steps
1. Fork the Dograh repository by going to https://github.com/dograh-hq/dograh
2026-05-07 12:14:53 +05:30
2. Clone the forked repository on your machine (use `--recurse-submodules` so the pipecat submodule is pulled in too)
2025-12-27 09:25:20 +05:30
```
2026-05-07 12:14:53 +05:30
git clone --recurse-submodules https://github.com/<GITHUB_HANDLE>/dograh
2025-12-27 09:25:20 +05:30
cd dograh
```
3. Create a python virtual environment
2026-04-03 06:34:13 +05:00
<CodeGroup>
```bash macOS/Linux
2025-12-27 09:25:20 +05:30
python3 -m venv venv
source venv/bin/activate
```
2026-04-03 06:34:13 +05:00
```powershell Windows
python -m venv venv
.\venv\Scripts\Activate.ps1
```
</CodeGroup>
2026-05-07 12:14:53 +05:30
4. Ensure you are on right version of Node.js using `node --version`
2025-12-27 09:25:20 +05:30
```
nvm use 24
```
2026-05-07 12:14:53 +05:30
5. Install UI dependencies
2025-12-27 09:25:20 +05:30
```
cd ui && npm install && cd ..
```
2026-05-07 12:14:53 +05:30
6. Start local docker services
2025-12-27 09:25:20 +05:30
<Note>Please ensure you dont have any other instance of conflicting services running by checking `docker ps`</Note>
```
docker compose -f docker-compose-local.yaml up -d
```
Verify that the processes have started by running `docker ps`
```
abhishek$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
9066b7244b2f postgres:17 "docker-entrypoint.s…" 18 seconds ago Up 18 seconds (healthy) 0.0.0.0:5432->5432/tcp, [::]:5432->5432/tcp dograh-postgres-1
6c7cb8afdf18 redis:7 "docker-entrypoint.s…" 18 seconds ago Up 18 seconds (healthy) 0.0.0.0:6379->6379/tcp, [::]:6379->6379/tcp dograh-redis-1
a57e3e92b02c minio/minio "/usr/bin/docker-ent…" 18 seconds ago Up 18 seconds (healthy) 127.0.0.1:9000-9001->9000-9001/tcp dograh-minio-1
```
2026-05-07 12:14:53 +05:30
7. Setup environment variables
2026-04-03 06:34:13 +05:00
<CodeGroup>
```bash macOS/Linux
2025-12-27 09:25:20 +05:30
cp api/.env.example api/.env && cp ui/.env.example ui/.env
```
2026-04-03 06:34:13 +05:00
```powershell Windows
Copy-Item api/.env.example api/.env
Copy-Item ui/.env.example ui/.env
```
</CodeGroup>
2026-05-07 12:14:53 +05:30
8. Install Python requirements. The script initializes the pipecat submodule, installs `api/requirements.txt`, and installs pipecat with the required extras. Add the dev flag if you also want the pipecat dev dependency group (pytest, ruff, pre-commit, etc.).
2026-04-03 06:34:13 +05:00
<CodeGroup>
```bash macOS/Linux
2026-05-07 12:14:53 +05:30
# Default (runtime only)
bash scripts/setup_requirements.sh
# Include pipecat dev dependencies
bash scripts/setup_requirements.sh --dev
2025-12-27 09:25:20 +05:30
```
2026-04-03 06:34:13 +05:00
```powershell Windows
2026-05-07 12:14:53 +05:30
# Default (runtime only)
.\scripts\setup_requirements.ps1
# Include pipecat dev dependencies
.\scripts\setup_requirements.ps1 -Dev
2025-12-27 09:25:20 +05:30
```
2026-04-03 06:34:13 +05:00
</CodeGroup>
2026-05-07 12:14:53 +05:30
9. Start backend services
2026-04-03 06:34:13 +05:00
<CodeGroup>
```bash macOS/Linux
2026-03-02 14:44:04 +05:30
bash scripts/start_services_dev.sh
2025-12-27 09:25:20 +05:30
```
2026-04-03 06:34:13 +05:00
```powershell Windows
.\scripts\start_services_dev.ps1
```
</CodeGroup>
2025-12-27 09:25:20 +05:30
Verify that your backend server is running
2026-04-03 06:34:13 +05:00
<CodeGroup>
```bash macOS/Linux
curl -X GET localhost:8000/api/v1/health
2025-12-27 09:25:20 +05:30
```
2026-04-03 06:34:13 +05:00
```powershell Windows
curl.exe http://localhost:8000/api/v1/health
2025-12-27 09:25:20 +05:30
```
2026-04-03 06:34:13 +05:00
</CodeGroup>
2025-12-27 09:25:20 +05:30
You would be able to see the logs in logs/ directory.
2026-04-03 06:34:13 +05:00
<CodeGroup>
```bash macOS/Linux
2025-12-27 09:25:20 +05:30
tail -f logs/latest/*.log
```
2026-04-03 06:34:13 +05:00
```powershell Windows
Get-Content logs/latest/*.log -Wait
```
</CodeGroup>
2026-05-07 12:14:53 +05:30
10. Start the UI
2025-12-27 09:25:20 +05:30
```
cd ui && npm run dev
```
2026-05-07 12:14:53 +05:30
11. You should be able to open the application on `localhost:3000` now
2025-12-27 09:25:20 +05:30
### Next Steps
We ship with AGENTS.md and CLAUDE.md which will help the Coding Agents get started quickly with the codebase. This should help your favourite coding agents to be able to navigate the codebase quickly and you can make changes to it and suit your specification better.