docker compose -f docker-compose.dev.yml up -d postgres
docker compose -f docker-compose.dev.yml up -d redis
docker compose -f docker-compose.production.yml up --build -d --no-deps marketplace
docker compose -f docker-compose.production.yml up --build -d --no-deps admin
docker compose -f docker-compose.dev.yml --profile full up --build
docker compose -f docker-compose.dev.yml --profile dashboard up --build
docker compose -f docker-compose.dev.yml --profile marketplace up --build
docker compose -f docker-compose.dev.yml --profile api up --build


Default dev admin:

Email: platform.ops@rentaldrivego.com
Password: PlatformOps123!



What this means:

docker compose -f docker-compose.dev.yml --profile full up --build will no longer reseed or redeploy the DB on every fix.
Your data stays as long as you do not run docker compose ... down -v or manually delete the Docker volumes.
If you later change the schema and want to apply it without wiping data, run:
docker compose -f docker-compose.dev.yml run --rm migrate sh -c "npm run db:deploy"
Production was already using a persistent named Postgres volume, so the main issue was the dev bootstrap behavior. Restart the dev stack once for this change to take effect.