# Infra — Ambiente de desenvolvimento > Situação: **como funciona o `dev.` e por que dá para testar sem medo.** - **`dev.`** (ex.: `dev.scoreodonto.com`) roda na **VPS4**, servido por uma **imagem buildada** (nginx sobre `vite build`) — **NÃO é hot-reload (HMR)**. Editar o código **exige rebuild + recreate** do container para refletir. - (Os processos `vite --port 5173/5180` que rodam na VPS4 são de **outros apps**, ex.: o client do RX — não do scoreodonto.) - **Banco DEV isolado:** o backend de dev usa o container **`pgdev`** (PostGIS na VPS4), banco `_dev` — **não toca o banco de produção** (VPS3). Pasta: `/home/deploy/stack/pg-dev/`. - `pg-dev-refresh.sh ` → repuxa dados da produção (somente leitura) para o `_ref` e recria o `_dev`. - `pg-dev-reset.sh ` → volta o `_dev` ao estado limpo em segundos. - **Por que importa:** testar em dev (criar lixo, rodar migração arriscada) tem **zero impacto** na produção. A produção nunca é alterada por dev. - Em dev a versão exibida é **`dev`** (ver `../deploy/versionamento.md`). ⚠️ **Atenção:** `vite build` **não bloqueia por erro de tipo** (TypeScript) — um erro de tipo pode passar no build e só estourar em runtime. Sempre exercite a tela que mudou antes de promover.