Debugging & databases

Everything you need to see what your app is doing — logs, errors, container status — and to inspect/manage its databases.

The Inspect panel

In the dashboard, the Logs button on any app opens the Inspect panel:

  • Failure banner — the app’s last_error, shown in red when a deploy failed.
  • Containers — a live table of every service container: state (running / exited / absent), health, image, and exposed ports. This is how you confirm your mysql, redis, etc. are actually up.
  • Build & deploy events — the platform’s own log of the build/deploy (clone, build steps, errors). This is where a failed build shows its error — even when no container exists. Error lines are highlighted.
  • Live container logs — streamed from the container, with a per-service selector so you can read the logs of an internal service (e.g. the database), not just the public one.

If a deploy fails and the site never comes up, open Inspect and read Build & deploy events first — the real error is there.

Actions (buttons at the top of the detail view):

  • Redeploy — re-runs the deployment from the app’s config: re-pulls the image, or re-clones + rebuilds a git app (picks up new commits). This is “deploy again”.
  • Restart — just bounces the existing containers (no rebuild). Use it to apply a restart, not to ship new code.
  • Open opens the app, Manage database opens Adminer (below).

Same data via the API

curl -s $API/apps/<appId>/events     -H "authorization: Bearer $TOKEN"  # build/deploy log + lastError
curl -s $API/apps/<appId>/containers -H "authorization: Bearer $TOKEN"  # per-service status
curl -s "$API/apps/<appId>/logs?tail=500&container=app-<appId>-<svc>" \
        -H "authorization: Bearer $TOKEN"                               # logs of a specific service

Managing databases (Adminer)

A shared web database manager — Adminer — speaks MySQL / MariaDB / PostgreSQL / SQLite / MS SQL / Oracle, so you can browse tables, run SQL, and import/export — all from the browser.

  • Open it from the dashboard: the Database link in the top bar, or Manage database in an app’s detail view (also at https://db.cynchro.cloud).
  • It’s protected by basic auth (ask your operator for the credentials).
  • It reaches your databases over the internal networkno database port is exposed to the internet.

Connecting

Log in to Adminer and fill:

Field Value
System MySQL / PostgreSQL / … (match your DB)
Server your DB’s hostname (see below)
Username / Password / Database your DB credentials

What to put in “Server”:

  • A database deployed as its own app (e.g. an app named mydb): use the app namemydb.
  • A database inside a multi-service app (e.g. a db service in your stack): use the service namedb.

Databases inside a multi-service stack are on a private network. New multi-service deploys are wired into Adminer automatically — if a database deployed earlier doesn’t show up, hit Redeploy on that app to wire it in.

Tip: keep credentials in Secrets

Put your DB user/password in a Secret and inject it into the app — then the same values are what you type into Adminer.

→ Error reference: Troubleshooting


This site uses Just the Docs, a documentation theme for Jekyll.