Elyra
Elyra The coding agent eTerm The terminal that knows where each command ends Huskarl AI colleagues on your own Mac Starf An activity monitor for Apple silicon that never invents a number etrans An SSH and SFTP client for macOS Elyra VM Virtual machines for macOS, Linux and Windows on your Mac Litr A small, native web browser for macOS Notr A notebook for macOS e The native code editor Elyra Grove Native local development environment Askr The real server for Laravel & PHP Elyra Framework Rust + Svelte 5 framework for desktop apps Elyra Conductor Local project conductor Refr Local-first PDF workspace for macOS Elyra Workspace A desktop workspace for coding agents eDock A container runtime for the Mac Elyra SQL Server MySQL-compatible SQL server in Rust Elyra Félagi Agents as teammates on one board Elyra SQL Client Native desktop SQL workbench Elyra SQL Anywhere Replication-ready SQL engine Elyra Sjá SEO & GEO workspace for macOS Elyra DataGrid Server-driven data grid for Laravel
Release notes
Release notes
Elyra
The `edock` CLI

The edock CLI

edock is eDock's engine and its command line, in one binary:

  • Inside the app: /Applications/eDock.app/Contents/MacOS/edock.
  • After edock setup: also ~/.edock/bin/edock, which is on your PATH.
edock COMMAND

Docker's commands

edock run --rm alpine echo hi
edock ps -a
edock compose up -d
edock build -t app .

Docker's commands for containers, images, volumes, networks, builds and Compose (run, ps, exec, logs, stop, rm, images, pull, build, compose, …) run the docker CLI against eDock's socket, whatever docker context is current. It uses the docker on PATH, else the one edock setup downloaded.

Before it runs, edock checks that the engine runs the same version as itself, and says on stderr when it doesn't.

edock daemon

edock daemon

Runs the engine: the Docker Engine API on ~/.edock/run/docker.sock. The VM boots on the first request that needs it, and sleeps after 60 seconds idle. The app's Start button and the LaunchAgent from edock setup both run this. Stop it with SIGTERM.

See Configuration for the environment variables it reads.

edock setup

edock setup [--use] [--no-agent] [--no-domains]
edock setup --domains
edock setup --docker-socket
edock setup --uninstall

Sets this Mac up to use eDock. It covers:

  • a docker context;
  • the LaunchAgent;
  • the docker CLI, Compose and buildx, downloaded and checksum-checked the first time;
  • ~/.edock/bin on PATH;
  • a buildx builder;
  • *.edock.local names;
  • /var/run/docker.sock.

The app's Engine › Command line › Set up runs edock setup --no-domains, plus --use when ticked. Using docker with eDock describes each part.

Flag
--use Make edock docker's current context
--no-agent No LaunchAgent: the engine doesn't start at login
--no-domains Skip *.edock.local, which needs an administrator password
--domains Only set up *.edock.local
--docker-socket Only link /var/run/docker.sock to eDock
--uninstall Take back everything setup did, and the edock kubectl context

edock k8s

edock k8s start [--use]
edock k8s stop
edock k8s status
edock k8s delete
edock k8s set [--lan on|off] [--tls-san NAME,…] [--port N]

A single-node Kubernetes cluster (k3s) in the edock-k8s container. See Kubernetes.

Command
start Creates the cluster or starts it again, waits until the node is ready, and writes the edock kubectl context. --use makes that context kubectl's current one.
stop Stops it; its state is kept
status Its state, the API server's port and kubectl get nodes
delete Deletes it with all its state, and the kubectl context
set --lan on The API server and LoadBalancer services on every interface
set --tls-san A,B Extra names or addresses in the API server's certificate
set --port N The Mac port for the API server (1024 or higher; default 6443)

set recreates the node container with the new settings, and keeps the cluster's state. The settings are in ~/.edock/k8s.json.

edock builds

edock builds
edock builds show BUILDER ID
edock builds layers BUILDER ID
edock builds rm BUILDER ID

The build history, as JSON: every docker build on eDock's builders, newest first. show gives one build's steps (with their logs), its error and warnings; layers the image it made (its size, ID and each layer); rm takes it off the history. The app's Builds page reads it.

edock tls

edock tls status
edock tls trust
edock tls untrust

Whether macOS trusts eDock's certificate authority for websites, so https://<name>.edock.localhost has a padlock. trust asks for your password in macOS's own prompt. The authority can only vouch for *.edock.local and *.edock.localhost. The app's Engine › Domains › Trust HTTPS runs it.

edock build-with

edock build-with edock    # docker build uses eDock's BuildKit builder
edock build-with docker   # docker build uses docker's classic builder
edock build-with --json   # which one, as JSON

Which builder a plain docker build uses. The app's Engine › Builds & import › docker build uses sets the same. See Builds.

edock import

edock import [orbstack|desktop-linux] --list
edock import [orbstack|desktop-linux]
edock import orbstack image NAME | volume NAME | container NAME

Brings images, volumes and containers over from OrbStack (the default) or Docker Desktop (desktop-linux).

  • --list shows what there is, and what eDock has already.
  • With image, volume or container NAME, it brings over that one only.

The source is only read: images through docker save, and volumes through a short-lived read-only helper container, so file owners are kept. Containers arrive stopped.

edock machine

edock machine create NAME [--distro D | --image IMAGE] [--systemd] [--ssh-agent]
edock machine list
edock machine shell NAME [-- CMD...]
edock machine start | stop | restart | delete NAME

Long-lived Linux environments on eDock. Each one has your user, sudo, and /Users at the same path as on the Mac.

Flag
--distro ubuntu (the default), debian, alpine, fedora, arch, rocky or opensuse
--image Any image to start from, instead of a distribution
--systemd Boots systemd as the machine's init

shell NAME -- CMD… runs one command instead of a shell.

edock usb (beta)

edock usb list [--json]
edock usb attach DEVICE
edock usb detach DEVICE

Hands a USB device to your containers (a serial adapter, a Zigbee stick, a development board). On a Mac it's passed through to the VM. list --json prints the devices as JSON, as the app reads them. A device that drops off the bus while attached is attached again when it comes back, for example when the board resets or the Mac sleeps and wakes.

edock diag

edock diag logs [-f] [--engine|--cli] [--errors] [-n N]
edock diag report [--out PATH]
Command
logs eDock's own logs: -f follows, --engine or --cli picks one, --errors keeps the errors, -n sets how many lines
report Writes a diagnostics report to a local file, with tokens taken out. Nothing is sent anywhere.

edock bench

edock bench [--runs N] [--image IMAGE] [--network none|bridge]

Times container starts on eDock and on the other engines it finds.

edock boot and edock raw

edock boot [--console] [--pings N]
edock raw run [--rm] [-e KEY=VALUE]... IMAGE [COMMAND...]
edock raw pull IMAGE | raw images | raw rmi IMAGE...

Low-level tools that boot a guest of their own, without the daemon. They're for development and debugging.