Skip to content
Muxen
Docs · Logs, services and Docker

On your machines

Logs, services and Docker

Read a machine’s logs live, and start, stop and restart its services, Docker containers and Compose projects.

When something on a machine isn’t right, you usually want two things: its logs, and a way to restart it. Both are on the machine’s page, as Logs and Services (also in its right-click menu, and in ⌘P). Each stays under the machine in the sidebar until you close it.

Logs

Logs lists what the machine has to read:

  • System: the systemd journal and the kernel’s messages on Linux, the unified log on a Mac, the event logs on Windows. On Linux, without the systemd-journal group you see only your own entries; Muxen says so.
  • Files: /var/log, ~/Library/Logs, and log files written lately under your home folder (an app’s storage/logs, a runner’s _diag), newest first. Or type any path. Root-only files are marked.
  • Docker containers and running services, yours and the system’s.

Pick one and you get its last 500 lines, then new ones as they’re written.

  • Filter shows only the lines with what you type.
  • Pause holds the view and counts what’s arrived meanwhile. Follow keeps the newest line in view; scrolling up stops it.
  • Copy takes the selection (⌘C), or every line shown.
  • Errors are red and warnings amber.
A Compose project's logs on Beacon: lines from db, cache, web and api, each service in its own color, with chips to show one service, a filter, Pause and Follow. A Compose project's logs on Beacon: lines from db, cache, web and api, each service in its own color, with chips to show one service, a filter, Pause and Follow.
A Compose project’s logs: every service’s lines in time order.

Services

Services lists the machine’s services, failed ones first, then running ones. Find narrows the list.

  • Linux: systemd services, the system’s and your own (“yours”). Start, Stop, Restart, and At boot to change whether it starts with the machine.
  • A Mac: Homebrew’s services (brew services: Postgres, Redis, nginx and so on).
  • Windows: its services.
  • Each running service shows its CPU (percent of one core) and memory. Sort by them to find what’s busy.

The system’s services need root. When sudo wants your password, Muxen asks for it in the app, once, keeps it in memory only and forgets it when you quit.

Stop, Restart, Remove and Down ask first. They say so when the thing you’re stopping (ssh, Tailscale, the network) could cut Muxen off from the machine.

Docker

On a machine with Docker, the Containers, Compose and Images tabs cover the rest.

  • Containers: Run a container (image, name, ports, environment, volumes, restart policy, command), then start, stop, restart or remove one, open a shell inside it (a terminal session), or read its log.
  • Images: Pull one, run it, remove it, or Remove unused.
  • Pulls, runs and Compose up and down run as operations: their output shows as it comes, and in Activity (⌘J).

Compose projects

The Compose tab lists each project Docker knows, with Up, Down, Restart, Pull, its log, and Edit (its compose file in your editor). New project makes ~/compose/<name>/compose.yaml to start from.

Click a project to see it three ways:

  • Picture: its services as boxes, with each one’s image, state, health, CPU and memory. An arrow points to what a service waits for, green when it waits until that’s healthy. Ports it opens on the machine, its networks as colored tags, the files it mounts, and its volumes at the right.
  • List: the same as a table, with Start, Stop and Restart for each service, then its volumes, mounted files and networks.
  • Logs: every service’s lines in time order, each in its color, with a chip to show one service’s.
The Picture of a shop’s Compose project: web, api, worker, db and cache as boxes, arrows to what each waits for, and the db-data and cache-data volumes. The Picture of a shop’s Compose project: web, api, worker, db and cache as boxes, arrows to what each waits for, and the db-data and cache-data volumes.
What waits for what, and what’s healthy, at a glance.

Processes

The Processes tab lists the machine’s busiest few hundred processes: CPU (percent of one core), memory, how long each has run, and who runs it. Stop sends SIGTERM and Kill SIGKILL; both ask first. Another user’s process needs root, as system services do.

GPUs show above the list, with how busy each is and how much memory it uses: NVIDIA, AMD on Linux, and Apple’s.

From a terminal

muxen logs beacon --list                         # what there is
muxen logs beacon --unit nginx -n 100            # a service’s last lines
muxen logs beacon --file '~/app/storage/logs/laravel.log' --grep error
muxen logs beacon --container postgres --follow  # keep printing (Ctrl-C to stop)

muxen services beacon                            # services and containers
muxen services beacon restart nginx
muxen services beacon stop postgres --container
muxen ps beacon                                  # its busiest processes and its GPUs
muxen kill beacon 4242 [--force]                 # --force: SIGKILL

Agents have the same through MCP (logs_read, machine_services, service_action, compose_project, machine_processes and more). They’re told to read a failing service’s log before suggesting a fix, and to change things only when you ask. See MCP for your agents.