Runwake
Runwake is a lightweight viewer for Docker and Kubernetes workloads.
It puts live logs, exact runtime events, and current CPU and memory usage in one small interface. It does not store logs, retain metric history, modify workloads, or guess at root causes.
What it does
- Discovers Docker containers and Kubernetes workloads.
- Streams logs only while a workload is open, with search, filters, context lines, and reversible match navigation.
- Recognizes JSON and common key/value logs, with workload and per-record formatting controls for malformed output and stack traces.
- Shows runtime state and lifecycle events beside the logs.
- Reads current metrics from Docker or
metrics.k8s.io.
- Runs as a desktop app, single hosted binary, or container.
Quick start
Run locally in your browser:
runwake desktop
On a new desktop profile, Runwake detects a reachable local Docker Engine and adds it automatically.
Run as a hosted service:
runwake serve \
--listen 0.0.0.0:8080 \
--data-dir ./runwake-data \
--auth-token "$(openssl rand -hex 24)"
Put hosted deployments behind HTTPS.
Docker Compose is also supported:
docker compose up --build
Set RUNWAKE_AUTH_TOKEN for a shared deployment.
Opening the macOS app
Runwake's macOS app is not currently signed or notarized with Apple. Until
signed releases are introduced, macOS may prevent the downloaded app from
opening.
If you downloaded Runwake.app from the official GitHub release, either
Control-click the app, select Open, and confirm Open, or use Open
Anyway in System Settings → Privacy & Security.
You can also remove the quarantine attribute in Terminal:
xattr -dr com.apple.quarantine Runwake.app
Only bypass this protection for a copy you trust and downloaded from the
official Runwake GitHub repository. Apple signing and notarization are planned
for a future release.
Connections
Runwake supports:
- Docker Engine over a local socket, SSH, HTTP, or TLS.
- Kubernetes directly through its API using a local kubeconfig or encrypted upload, without requiring
kubectl.
- Selected Kubernetes namespaces or all permitted namespaces.
- Static bearer-token, client-certificate, and basic kubeconfig authentication.
Kubernetes metrics require Metrics Server or another metrics.k8s.io provider. Logs, events, and inventory continue working when metrics are unavailable.
Remote agents are planned for a later release and are disabled in 0.1.x.
Security
Runwake encrypts stored connection credentials with AES-256-GCM.
A Docker socket remains a privileged host capability even when Runwake performs read-oriented operations.
Documentation
License
See LICENSE.