Local Development
Set up Browserable locally for development
Prerequisites
Before you begin, make sure you have the following installed on your system:
- Git
- Docker
- Docker Compose (usually comes with Docker Desktop)
- [Node & NPM] (https://nodejs.org/en/download)
Getting started
Clone the repository
First, clone the Browserable repository from GitHub:
Start the development environment
The development environment is containerized using Docker Compose. To start all services:
This will start all the required services including:
- UI Server (http://localhost:2001)
- Tasks Server (http://localhost:2003)
- MongoDB (port 27017)
- MongoDB Express UI (http://localhost:3300)
- Redis (port 6379)
- MinIO Object Storage:
- API (http://localhost:9000)
- Console (http://localhost:9001)
- Supabase Services:
- Database (port 5432)
- Docs (http://localhost:2002)
Start the local browser service
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:
-
Main Application UI
- URL: http://localhost:2001
- The main Browserable user interface
-
Tasks Server
- URL: http://localhost:2003
- Handles background tasks and browser automation
-
MongoDB Express
- URL: http://localhost:3300
- Username: admin
- Password: pass
- Web interface for managing MongoDB data
-
MinIO Console
- URL: 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 applicationtasks/
- Backend services and task managementdeployment/
- Docker and deployment configurationsdocs/
- Documentation files
Stopping services
- Use Ctrl+C to stop the local browser service.
- Run
npx browserable down
to bring down the docker services. (or rundocker 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
- Report issues on our GitHub repository