Monitoring & Diagnostics

Logs, Console & Terminal

Search an app's logs, run one-shot commands in its container, or open a full SSH terminal into the server.

DeployOS gives you three levels of access into a running app or server, from safest to most direct.

Logs

Every app's Logs tab pulls container output by looking up containers via their Compose project label — this works uniformly whether the app was deployed by DeployOS or adopted from an existing setup, and regardless of build method.

Available from the Logs tab:

  • Search within the log stream.
  • Live tail — keep watching as new lines arrive.
  • Download the full log to a file.
  • Switch between the app's own logs and the reverse-proxy (Traefik/Caddy) logs for that app, useful when a request is reaching the proxy but not the container (or vice versa).

There's also a slide-over Logs drawer reachable from the Monitoring page's per-app section, so you can jump straight from "this app's CPU spiked" to its logs without navigating away.

Console

The Console tab opens a one-shot docker exec into the app's running container — useful for a quick ls, checking an environment variable actually made it in, or running a one-off migration command. It's not a persistent shell session; each command runs and returns its output.

💡 Tip — if logs or console output look empty for an app you just adopted, give it a minute: DeployOS resolves the container by Compose project label, and a container that was started outside any Compose project won't have one until you redeploy it through DeployOS at least once.

Terminal

For anything Logs and Console don't cover, Terminal (in the main navigation) opens a real, persistent, interactive SSH session straight into a server — the same thing you'd get typing ssh in your own terminal, rendered in-app.

  • Pick a server and click New session to open a tab.
  • Open multiple tabs, including more than one to the same server — each is an independent shell.
  • Switching tabs doesn't kill the others; a session you're not looking at stays connected in the background until you close its tab.
  • Closing a tab ends that SSH session.

You won't need this for everyday use — deploys, databases, backups, cron, and file edits all work from buttons elsewhere in the app, each scoped to exactly the one thing it does. Terminal exists for the rare moment you want to type commands on the server yourself with nothing in between.

For whole-filesystem browsing and editing without a full shell, see The File Manager instead — better suited to editing a config file or grabbing a download than Terminal is.