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_consoleandopen_database_consoleare 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?