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.
- Show env / credentials revela las variables de entorno de la app — incluidas las contraseñas/claves autogeneradas — con un Download .env. Así recuperás las credenciales después del deploy (si no, solo se muestran una vez al importar).
- 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). - Alcanza tus bases de datos por la red interna — ningún puerto de DB se expone a internet, y de todos modos requiere credenciales válidas de DB para hacer algo.
Conectarse
El botón Manage database (en el detalle de una app) te loguea directo — lee el servicio de base de datos de la app y las credenciales con las que está configurada, así no escribís nada. Un click y estás en tu DB.
Si abrís Adminer directo (link Database de la barra superior), completá a mano:
| Campo | Valor |
|---|---|
| System | MySQL / PostgreSQL / … (según tu DB) |
| Server | el nombre del servicio de tu DB (ej. db) |
| Username / Password / Database | las credenciales de tu 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