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: