Skip to content
| Marketplace
Sign in
Visual Studio Code>Other>ediContainersNew to Visual Studio Code? Get it now.
ediContainers

ediContainers

tunerok

|
5 installs
| (0) | Free
Manage Apple container machines: create from templates, start/stop, delete, and connect via Remote SSH
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

ediContainers

VS Code / Cursor extension for managing Apple container machines (container machine).

Create Machine — choose a preset or Custom Dockerfile

Machines list — status, IP, and machine details

Features

  • Create machines from presets (Ubuntu, Debian, Alpine, Kali) with SSH + sudo preconfigured (root / root)
  • Custom Dockerfile path for hand-written images (does not touch preset Dockerfiles / BASE_IMAGE injection)
  • Edit which base images/versions to pull via a user JSON settings file
  • List container machines with status and IP address
  • Start, stop, and delete machines from the sidebar
  • Connect to a running machine via Remote SSH
  • Auto-refresh with configurable interval
  • Start and stop the container system from the Machines view
  • Explain how to install the CLI when container is not found

Requirements

  • macOS 26+ on Apple Silicon
  • Apple container CLI installed (container in PATH). If it is missing, the view explains how to install it (brew install --cask container, or the signed package from GitHub releases)
  • Container system running. Start or stop it from the Machines view, or with container system start / container system stop
  • Remote - SSH extension for SSH connections (in Cursor: anysphere.remote-ssh)

Installation

Cursor Marketplace

In Cursor: open Extensions (Cmd+Shift+X), search for ediContainers (or tunerok.edi-containers), and click Install.

Extension page: open-vsx.org/extension/tunerok/edi-containers

cursor --install-extension tunerok.edi-containers

From GitHub Release (VSIX)

Prebuilt .vsix releases are also on GitHub — no npm / compile required.

  1. Open Releases and download edi-containers-*.vsix (e.g. edi-containers-0.2.2.vsix).
  2. Install in one of these ways:

Cursor / VS Code UI

  1. Open Extensions (Cmd+Shift+X).
  2. Click … (top of the Extensions view) → Install from VSIX…
  3. Select the downloaded .vsix file.
  4. Reload the window if prompted.

CLI

# Cursor
cursor --install-extension ~/Downloads/edi-containers-0.2.2.vsix

# VS Code
code --install-extension ~/Downloads/edi-containers-0.2.2.vsix

After install, open the ediContainers icon in the Activity Bar.

Usage

  1. Open the ediContainers view in the Activity Bar.
  2. Click + (Create Machine): pick a preset or Custom Dockerfile, enter a name. Presets build with injected BASE_IMAGE; Custom builds your file as-is.
  3. Machines appear with status · IP in the description.
  4. Use inline actions or the context menu:
    • Start — boots a stopped machine
    • Stop — stops a running machine
    • Connect via SSH — pick or enter a username, then open a Remote SSH window as user@ip (preset machines: root / root)
    • Copy IP — copy the machine IP to the clipboard
    • Delete Machine — stop (if needed) and delete
  5. Click the gear (Edit Machine Image Settings) to change preset base image tags/versions. Use Edit Custom Dockerfile (or the Custom item in Create) for a fully manual image.
  6. Click Refresh to update the list manually.
  7. The system button in the view toolbar starts the Apple container service, then switches to Stop Container System. Stopping asks for confirmation because running machines stop with it. The button stays disabled during the action and for a few seconds after, so it cannot be clicked repeatedly.

Custom Dockerfile

Presets stay opinionated (SSH root/root, systemd/OpenRC, etc.). For full control:

  1. Create Machine → Custom Dockerfile (or command Edit Custom Dockerfile).
  2. Edit the file in extension global storage (created once from a minimal skeleton; never overwritten).
  3. Build & Create → choose image tag → machine name.

No --build-arg BASE_IMAGE is passed. Rebuild triggers when the Dockerfile content changes.

SSH usernames are stored in the extension global storage folder and offered again on later connects.

Machine image settings

Defaults ship in templates/machine-images.json. On first use a copy is written to the extension global storage. Edit that copy (via the gear command) to change what gets pulled, for example:

{
  "id": "ubuntu",
  "label": "Ubuntu",
  "description": "Ubuntu + systemd + SSH (root/root)",
  "baseImage": "ubuntu:22.04",
  "localTag": "edi-containers/ubuntu-ssh:local",
  "enabled": true
}

Set "enabled": false to hide a template from Create. After changing baseImage, the next Create rebuilds that local tag.

Configuration

Setting Default Description
ediContainers.containerPath container Path to the Apple container CLI
ediContainers.refreshInterval 8000 Auto-refresh interval in ms (0 to disable)

Development

npm install
npm run compile
npm run watch   # during development

If Node.js/npm is not installed globally, you can compile with Cursor's bundled Node:

npm run compile:cursor

Or manually:

export PATH="/Applications/Cursor.app/Contents/Resources/app/resources/helpers:$PATH"
node esbuild.js

Press F5 in VS Code/Cursor to launch an Extension Development Host.

Build VSIX

For maintainers (end users should use Installation from Releases):

npm install
npm run package

This produces edi-containers-<version>.vsix in the repo root. Attach it to a GitHub Release for others to install.

CLI mapping

Action Command
List container machine list --format json
Inspect container machine inspect <id>
Stop container machine stop <id>
Start container machine run -n <id> -d -- true
Create container machine create <image> --name <name>
Delete container machine delete <id>
Build template container build --tag <tag> --build-arg BASE_IMAGE=… <templateDir>
Start system container system start --enable-kernel-install
Stop system container system stop

License

MIT

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
  • Your Privacy Choices
  • Consumer Health Privacy
© 2026 Microsoft