> ## Documentation Index
> Fetch the complete documentation index at: https://docs.browserable.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Local Development

> Set up Browserable locally for development

## Prerequisites

Before you begin, make sure you have the following installed on your system:

* [Git](https://git-scm.com/)
* [Docker](https://www.docker.com/get-started)
* [Docker Compose](https://docs.docker.com/compose/install/) (usually comes with Docker Desktop)
* \[Node & NPM] ([https://nodejs.org/en/download](https://nodejs.org/en/download))

## Getting started

### Clone the repository

First, clone the Browserable repository from GitHub:

```bash theme={null}
git clone https://github.com/browserable/browserable.git
cd browserable
```

### Start the development environment

The development environment is containerized using Docker Compose. To start all services:

```bash theme={null}
docker compose -f deployment/docker-compose.dev.yml up
```

This will start all the required services including:

* UI Server ([http://localhost:2001](http://localhost:2001))
* Tasks Server ([http://localhost:2003](http://localhost:2003))
* MongoDB (port 27017)
* MongoDB Express UI ([http://localhost:3300](http://localhost:3300))
* Redis (port 6379)
* MinIO Object Storage:
  * API ([http://localhost:9000](http://localhost:9000))
  * Console ([http://localhost:9001](http://localhost:9001))
* Supabase Services:
  * Database (port 5432)
* Docs ([http://localhost:2002](http://localhost:2002))

### Start the local browser service

```bash theme={null}
cd browser
npm install
```

```bash theme={null}
npm start
```

This will start the local browser service on port 9221

### Available Interfaces

Once the development environment is up and running, you can access these interfaces:

1. **Main Application UI**

   * URL: [http://localhost:2001](http://localhost:2001)
   * The main Browserable user interface

2. **Tasks Server**

   * URL: [http://localhost:2003](http://localhost:2003)
   * Handles background tasks and browser automation

3. **MongoDB Express**

   * URL: [http://localhost:3300](http://localhost:3300)
   * Username: admin
   * Password: pass
   * Web interface for managing MongoDB data

4. **MinIO Console**
   * URL: [http://localhost:9001](http://localhost:9001)
   * Username: browserable-storage
   * Password: secret1234
   * Object storage management interface

## Development Workflow

The development environment is set up with hot-reloading enabled. Any changes you make to the source files will automatically trigger a rebuild of the affected components.

### Project Structure

* `ui/` - Frontend React application
* `tasks/` - Backend services and task management
* `deployment/` - Docker and deployment configurations
* `docs/` - Documentation files

## Stopping services

1. Use Ctrl+C to stop the local browser service.
2. Run `npx browserable down` to bring down the docker services. (or run `docker compose -f deployment.dev.yml down` inside the browserable/deployment folder)

## Getting Help

If you need assistance or want to stay updated with the latest features:

* Join our [Discord community](https://discord.gg/b6s9fXNjeQ)
* Report issues on our [GitHub repository](https://github.com/browserable/browserable)
