Pular para conteúdo

Infraestrutura

VPS

Item Valor
IP 72.60.243.181
OS Debian 13
RAM 32GB
Disco 394GB
Docker 28.5
Acesso ssh root@72.60.243.181

Dominios

Servico URL Destino
Frontend byclinic.digitalface.dev.br Traefik → byclinic_frontend:3000
API api.byclinic.digitalface.dev.br Traefik → byclinic_backend:8000
Docs docs.byclinic.digitalface.dev.br Traefik → byclinic_docs:8000
Landing byclinic.pages.dev Cloudflare Pages

DNS gerenciado via Cloudflare (zona digitalface.dev.br).

Containers

byclinic_db        — PostgreSQL 16 (interno)
byclinic_redis     — Redis 7 (interno)
byclinic_backend   — FastAPI/uvicorn (:8000)
byclinic_frontend  — Next.js standalone (:3000)
byclinic_docs      — MkDocs Material (:8000)

Rede interna byclinic_internal + rede proxy (Traefik).

Traefik

Reverse proxy compartilhado em /opt/ (container traefik).

  • Entrypoints: :80 (redirect HTTPS), :443
  • TLS: Let's Encrypt HTTP challenge
  • Provider: Docker (labels)
  • Rede: proxy (external)

Deploy

# Na VPS
cd /opt/byclinic
git pull
docker compose -f docker-compose.prod.yml build
docker compose -f docker-compose.prod.yml up -d

# Migrations
docker compose -f docker-compose.prod.yml exec backend bash -c 'PYTHONPATH=/app alembic upgrade head'

Backup

PostgreSQL backup via pg_dump:

docker exec byclinic_db pg_dump -U byclinic byclinic > backup_$(date +%Y%m%d).sql