Logs
Configure drydock log output and use the built-in log viewers to monitor application and container activity.
Server Log Configuration
Control drydock's own log output with environment variables.
Variables
| Env var | Required | Description | Supported values | Default in official Docker image |
|---|---|---|---|---|
DD_LOG_LEVEL | ⚪ | Log level | fatal, error, warn, info, debug, trace | info |
DD_LOG_FORMAT | ⚪ | Log format | text json | json |
DD_LOG_BUFFER_ENABLED | ⚪ | Enable in-memory log ring buffer used by UI/API log viewer | true, false | true |
The official image sets DD_LOG_FORMAT=json by default for structured production logs. Override with DD_LOG_FORMAT=text for pretty logs.
Set DD_LOG_BUFFER_ENABLED=false to disable the in-memory ring buffer (reduces per-log processing overhead).
Examples
Set debug level
services:
drydock:
image: codeswhat/drydock
...
environment:
- DD_LOG_LEVEL=debugdocker run -e DD_LOG_LEVEL=debug ... codeswhat/drydockSet json format (for ElasticSearch ingestion for example)
docker run -e DD_LOG_FORMAT=json ... codeswhat/drydockservices:
drydock:
image: codeswhat/drydock
...
environment:
- DD_LOG_FORMAT=jsonApplication Log Viewer
The Configuration > Logs page provides a terminal-style viewer for drydock's own runtime logs — startup events, polling cycles, registry checks, trigger executions, and errors.
When enabled, logs are stored in an in-memory ring buffer (last 1,000 entries). They are not persisted to disk.
If DD_LOG_BUFFER_ENABLED=false, the viewer returns no application log entries.
Toolbar controls
| Control | Description |
|---|---|
| Level | Filter by log level: all, debug, info, warn, error. Note: entries below your configured DD_LOG_LEVEL are never captured, so they won't appear regardless of this filter. |
| Lines | Number of entries to fetch: 50, 100, 500, or 1,000. |
| Auto fetch | Automatically poll for new entries at a chosen interval: Off, 2s, 5s, 10s, or 30s. |
| Refresh | Manual one-shot fetch. |
Scroll lock
When auto fetch is active, the viewer auto-scrolls to the newest entry after each fetch. If you scroll up to read earlier entries, scroll lock activates automatically — a warning chip appears and auto-scroll pauses so your reading position is preserved. Click Resume to jump back to the bottom and re-enable auto-scroll.
Container Log Viewer
Each container has a Logs tab in its detail expansion panel. This shows the container's stdout/stderr output directly in the UI — no need to shell into the host.
Toolbar controls
| Control | Description |
|---|---|
| Lines | Number of tail lines to fetch: 50, 100, or 500. |
| Auto fetch | Poll for new log output at a chosen interval: Off, 2s, 5s, 10s, or 30s. |
| Refresh | Manual one-shot fetch. |
Scroll lock and resume work the same way as the application log viewer.
Agent containers
Container logs work for both local and remote agent containers. For agent-managed containers, drydock proxies the log request through the agent connection automatically.
Agent Log Viewer
Agent runtime logs are available from the Agents page. Open an agent's detail slide-in panel and switch to the Logs tab.