If you are developing on Windows, it is recommended to use WSL (Windows Subsystem for Linux). See the WSL setup guide in the source repository for detailed instructions.
Prerequisites
Before you begin, you’ll need to install the following tools:- Docker and Docker Compose - for running services (PostgreSQL, Redis, Minio)
- Python 3.x - for the Django backend
- Node 20.x - for the Vue.js frontend
- Volta - for managing Node.js and pnpm versions
- uv - for Python package management
- pnpm - for frontend package management
~/workspace/source/docs/local_dev_host.md.
Set Up Python Environment
Install Frontend Dependencies
Studio requires Node 20.x and usespnpm as the package manager. With Volta installed, run:
Start Services
Studio requires several background services:- Minio - local S3 storage emulation
- PostgreSQL - relational database
- Redis - key/value store for caching
- Celery - task manager and executor
- All Services (Recommended)
- Separate Services
Start all services including Celery workers:This command starts Docker services and Celery workers together. The first run may take longer as Docker images are downloaded.
Verify services are running
Verify services are running
Confirm that Docker-based services are running:You should see three containers:
Stop Services
To stop the services:- Press
Ctrl+Cin the terminal where services are running - Remove the Docker containers:
Initialize the Database
With services running, initialize the database in a new terminal:- Initializes database tables
- Imports constants
- Enables required PostgreSQL extensions
- Creates a development user account
Run the Development Server
Start the development server with hot module reloading:- URL:
http://localhost:8080/accounts/login/ - Username:
[email protected] - Password:
a
Development Workflow
Running Celery Separately
Celery doesn’t auto-reload like Django’s dev server. To develop Celery tasks:- Start only Docker services:
- In a separate terminal, run Celery:
- Stop and restart Celery (
Ctrl+Cthen re-run) after making changes.
Useful Make Commands
| Command | Description |
|---|---|
make run-services | Start all services including Celery |
make dcservicesup | Start Docker services only |
make dcservicesdown | Stop and remove Docker containers |
make devceleryworkers | Run Celery workers |
make test | Run backend Python tests |
Next Steps
Architecture
Learn about Studio’s architecture
Frontend Development
Work with Vue.js components
Backend Development
Develop Django APIs
Testing
Run and write tests
