Debugging y bases de datos
Todo lo que necesitás para ver qué hace tu app — logs, errores, estado de contenedores — y para inspeccionar/gestionar sus bases de datos.
El panel Inspect
En el dashboard, el botón Logs de cualquier app abre el panel Inspect:
- Banner de error — el
last_errorde la app, en rojo cuando un deploy falló. - Containers — una tabla en vivo de cada contenedor de servicio: estado (
running/exited/absent), health, imagen y puertos expuestos. Así confirmás si tumysql,redis, etc. están realmente arriba. - Build & deploy events — el log de la plataforma del build/deploy (clone, pasos del build, errores). Acá aparece el error de un build fallido — incluso cuando no hay contenedor. Las líneas de error se resaltan.
- Live container logs — streameado del contenedor, con un selector por servicio así podés leer los logs de un servicio interno (ej. la base de datos), no solo del público.
Si un deploy falla y el sitio no levanta, abrí Inspect y leé primero Build & deploy events — el error real está ahí.
Acciones (botones arriba en la vista de detalle):
- Redeploy — re-corre el deployment desde la config de la app: re-baja la imagen, o re-clona + rebuildea un app de git (toma los commits nuevos). Es “desplegar de nuevo”.
- Restart — solo reinicia los contenedores existentes (sin rebuild). Sirve para reiniciar, no para subir código nuevo.
- Open abre la app, Manage database abre Adminer (abajo).
Los mismos datos por la API
curl -s $API/apps/<appId>/events -H "authorization: Bearer $TOKEN" # log de build/deploy + lastError
curl -s $API/apps/<appId>/containers -H "authorization: Bearer $TOKEN" # estado por servicio
curl -s "$API/apps/<appId>/logs?tail=500&container=app-<appId>-<svc>" \
-H "authorization: Bearer $TOKEN" # logs de un servicio específico
Gestionar bases de datos (Adminer)
Hay un gestor web de bases de datos compartido — Adminer — que habla MySQL / MariaDB / PostgreSQL / SQLite / MS SQL / Oracle, así que podés navegar tablas, correr SQL e importar/exportar — todo desde el browser.
- Abrilo desde el dashboard: el link Database en la barra superior, o Manage database en el detalle de una app (también en
https://db.cynchro.cloud). - Está protegido con basic auth (pedile las credenciales a tu operador).
- Alcanza tus bases de datos por la red interna — ningún puerto de DB se expone a internet.
Conectarse
Logueate en Adminer y completá:
| Campo | Valor |
|---|---|
| System | MySQL / PostgreSQL / … (según tu DB) |
| Server | el hostname de tu DB (ver abajo) |
| Username / Password / Database | las credenciales de tu DB |
Qué poner en “Server”:
- Una base desplegada como su propia app (ej. una app llamada
mydb): usá el nombre de la app →mydb. - Una base dentro de un app multi-servicio (ej. un servicio
dben tu stack): usá el nombre del servicio →db.
Las bases dentro de un stack multi-servicio están en una red privada. Los deploys multi-servicio nuevos se enganchan a Adminer automáticamente — si una base desplegada antes no aparece, hacé Redeploy en esa app para engancharla.
Tip: guardá las credenciales en Secrets
Poné el usuario/contraseña de la DB en un Secret e inyectalo en la app — así los mismos valores son los que escribís en Adminer.
→ Referencia de errores: Solución de problemas