Pular para conteúdo

Desenvolvimento Local

Opcao 1: Docker Compose local

cd byclinic
docker compose up -d

Servicos:

Servico Porta
Frontend http://localhost:3000
Backend http://localhost:8000
PostgreSQL localhost:5432
Redis localhost:6379

Hot reload ativo no backend (uvicorn --reload) e frontend (npm run dev).

Opcao 2: SSH Tunnel para VPS

Usa os containers da VPS sem rodar nada local.

./scripts/tunnel-dev.sh

Forwards:

Local Remoto
localhost:8000 byclinic_backend:8000
localhost:3000 byclinic_frontend:3000
localhost:5433 byclinic_db:5432
localhost:6380 byclinic_redis:6379

Atencao

O tunnel conecta nos containers de producao. Cuidado ao alterar dados.

Opcao 3: Backend local + DB remota

# Terminal 1: tunnel so pro banco
ssh -N -L 5433:byclinic_db:5432 root@72.60.243.181

# Terminal 2: backend local
cd backend
DATABASE_URL=postgresql+asyncpg://byclinic:SENHA@localhost:5433/byclinic uvicorn app.main:app --reload

# Terminal 3: frontend local
cd frontend
NEXT_PUBLIC_API_URL=http://localhost:8000 npm run dev

Seed

# Local
cd backend && python seed.py

# VPS
docker compose -f docker-compose.prod.yml exec backend bash -c 'PYTHONPATH=/app python seed.py'

Migrations

# Gerar
cd backend && alembic revision --autogenerate -m "descricao"

# Aplicar local
alembic upgrade head

# Aplicar VPS
ssh root@72.60.243.181 "cd /opt/byclinic && docker compose -f docker-compose.prod.yml exec backend bash -c 'PYTHONPATH=/app alembic upgrade head'"