When to Rebuild
The --build flag is only needed for the backend service (the only one with a custom Dockerfile).
You DON'T Need to Rebuild
Most common scenario - changes auto-reload:
| Changed File | Rebuild? | Action |
|---|---|---|
backend/*.py (Python code) |
❌ No | Nothing - auto-reloads |
html/*.html / *.js / *.css |
❌ No | Just refresh browser |
docker-compose.yaml |
❌ No | docker compose up -d |
db/schema.sql |
❌ No | Reload schema manually* |
* Schema reload: See Wiping Data & Restarting
You DO Need to Rebuild
When dependencies or build process changes:
| Changed File | Command |
|---|---|
backend/requirements.txt |
docker compose up -d --build backend |
backend/Dockerfile |
docker compose up -d --build backend |
| Any file copied in Dockerfile | docker compose up -d --build backend |
Rebuild Commands
Rebuild backend only:
docker compose up -d --build backend
Rebuild everything:
docker compose up -d --build
Force complete rebuild (clears Docker cache):
docker compose build --no-cache backend
docker compose up -d