Deplo

Console

A real terminal for when you need to look inside a running container, over the agent, no SSH.

An escape hatch for when you need to look inside a running container: a real terminal. It is not on the first-run path, and it is not required to use Deplo.


How it works

It goes through the agent on the server. See Observability for how that connection works.

The console is a real terminal, not a command box: it runs docker exec in a container you pick, with a proper pseudo-terminal, so top, vim and an interactive psql all behave. You can also attach to the main process's live output instead.


Open a console

The console is hidden until you acknowledge it once.

Open the app's Advanced settings

Open the app, then Settings -> Advanced.

Click open console

Click Open console.

Acknowledge the warning

A modal holds the terminal until you answer it. Read it and click I understand. From then on the sidebar shows a Console entry whenever a container is running, and the warning never returns - it is answered once per person, not once per app.

Pick which container from the instance picker. It lists every container in the stack with its image, its user, its working directory and whether it is exposed, plus the shell that was actually probed: /bin/sh, /bin/bash, or "raw exec (no shell)". An image with no shell says so rather than failing mysteriously.

A database's console is the engine's own client: psql, mysql, redis-cli.


Limits and gotchas

  • Changes inside a container do not survive a redeploy. The container is recreated from the image. Anything you fix in a console is gone on the next deploy unless it lives in a volume or in your repository.
  • open_app_console and open_database_console are separate, sensitive capabilities. A console is arbitrary code as that container's user.
  • The console needs something running. A stopped app has no container to enter.
  • This is not a way onto the host. You are inside a container. Reaching the server itself needs host access, which is a different grant entirely.

If it does not work

  • No Console entry in the sidebar: the one-time acknowledgement has not been given on this browser, or nothing is running, or you lack the capability.
  • "raw exec (no shell)": a distroless or scratch image. You can still run a binary that exists in it, but there is no shell to type into.

See Servers and agents for more.


See also

Did this page help you?

On this page