The dev environment runs Baserow services with source code hot reloading enabled. It also runs the backend django server and web-frontend nuxt server in debug and development modes.
Baserow offers two development approaches. Choose based on your priorities:
| Approach | Guide |
|---|---|
| Docker | Running with Docker |
| Local | Running Locally |
- Quick start - Only requires Docker and
just, no language runtimes to install - Consistency - Identical environment across all machines and OSes
- Isolation - Dependencies contained in images, won't conflict with other projects
- Security - Code runs in sandboxed containers
- Speed - Faster startup, instant hot reload, no container overhead
- Lower resources - No Docker daemon or container memory overhead
- Better debugging - Direct IDE integration, native breakpoints, no remote debugging setup
- Simpler tooling - Standard Python/Node workflows you already know
Both approaches use the same just commands and can be switched between freely.
- Docker development:
just dc-dev up -d- runs all services in Docker containers - Local development:
just dev- runs services natively with Docker only for db/redis
- Running with Docker - Complete Docker setup and commands
- Running Locally - Complete local development setup
- justfile reference - All available
justcommands - Running tests - Testing guide
- IntelliJ setup - Configure IntelliJ for Baserow development
- VS Code setup - Configure VS Code for Baserow development
- Feature flags - Optionally enabling unfinished features
- Baserow Docker API - Docker setup configuration
Note: The older
dev.shscript is deprecated. See dev.sh for documentation on the legacy script if needed.
A large formatting only commit was made to the repo when we converted to use the black auto-formatter on April, 12 2021. If you don't want to see this commit in git blame, you can run the command below to get your local git to ignore that commit in blame for this repo:
$ git config blame.ignoreRevsFile .git-blame-ignore-revs