Skip to content

Releases: sirruf/irekobox

Irekobox 0.1.5

Choose a tag to compare

@sirruf sirruf released this 30 Oct 23:03

More Docker compatibility (Testcontainers' Ryuk, the Docker socket in containers, traefik), fewer processes, and a lighter Overview.

Docker API

  • A container that mounts /var/run/docker.sock gets Irekobox's Docker API there: Testcontainers' Ryuk, traefik and log collectors work. (As with Docker, such a container can control the engine.)
  • Container names longer than the runtime's 63 characters (Testcontainers Go's reaper_…) work; the full name is shown everywhere.
  • A failed exec answers like Docker (exit code 127/126 on the stream), so Testcontainers' port checks fall back as they should.
  • Network labels with keys container refuses (MyKey, my_key) and values with = in volume and network labels are stored and read back as given.
  • docker volume create -o sync=… and compose driver_opts are kept and shown.
  • A host port held by another program is reported in Docker's words: Bind for 0.0.0.0:5432 failed: port is already allocated.
  • Starts, health checks and /etc/hosts updates run over XPC instead of a container process each; the engine watcher no longer runs container system status every five seconds.
  • docker logs streams history as it is read; docker ps -a no longer asks the runtime again for exit codes it couldn't find.

Compose in Irekobox's window

  • New volumes are filled from the image like Docker's, so postgres on a named volume and services that don't run as root start.
  • Compose files are parsed once per change, off the main thread.

At rest

  • The Overview and Compose maps animate only while the Irekobox window is in use, at 15 frames a second: with containers running, Overview went from about 11% of a core to 5% in front and 2% behind other apps.
  • On launch the app waits for its background helper instead of polling the engine twice; alerts are checked every 15 s while nothing is starting or failing.

Checksums (SHA-256)

faa9149a4806743ff94cd499589bda28226e0b60c8860fbddc1a78498e9e10b7  Irekobox-0.1.5.dmg
8de109f8298b2b74833a669d368af0cd92733ecd03752cd2e630ef524cf143d8  Irekobox-0.1.5.zip

Irekobox 0.1.4

Choose a tag to compare

@sirruf sirruf released this 30 Oct 21:31

Faster and lighter: less waiting in the Docker API, almost nothing used at rest, and a few compatibility fixes.

Docker API

  • Images are looked up through the images service's own list instead of container image ls, which reads every image's manifests for sizes: image inspect goes from about 275 ms to 30 ms, and creating a container from about 75 ms to 50 ms.
  • docker compose up --wait of three services: 4.6 s → 3.6 s. Health checks run exactly when due, /etc/hosts files are written in parallel, and the helper that fills a new volume no longer lingers.
  • A named volume that docker run -v name:/path creates is filled from the image, as in Docker: postgres with -v pgdata:/var/lib/postgresql/data no longer stops on lost+found.
  • Fixed a race where a service that resolves its neighbours at once (nginx with an upstream) could start before its /etc/hosts listed them.

At rest

  • With the window open, Irekobox now uses about 0.1% of a core instead of 6%; with only the menu bar, 0.2%. The engine status ring pings three times instead of forever, unchanged data is no longer re-sent and redrawn, and the Overview map stops animating when nothing runs.
  • container processes started at rest: from about 24 a minute to 2–9. No more builder status polling, cluster lists only when cluster nodes change, Machines reuses the image list, widgets are written only on change, and the menu bar stops polling while closed.
  • Starting a container from the app checks its ports with socket binds instead of running lsof for each one.
  • Logs search after you stop typing, in the background, and stop waking ten times a second when nothing arrives; build output is appended in batches.

Updates

  • A found update is remembered across launches, checked daily while the app runs, announced once in a notification, and offered in the menu bar.

Checksums (SHA-256)

5cfce51762bf5b5357e15a435ff2e422f5930f689d0ac5a127b35066566991cd  Irekobox-0.1.4.dmg
86fc45283229b9eba94a576c2444ee631c8eab5153a828433e3ac6fd15dceb22  Irekobox-0.1.4.zip

Irekobox 0.1.3

Choose a tag to compare

@sirruf sirruf released this 30 Oct 19:29

A faster Docker API, and a background helper that recovers by itself.

  • docker run is about a third faster: creating a container checks its image with a single inspect instead of listing every image (docker run --rm alpine true went from about 950 ms to 620 ms; container run itself takes about 520 ms).
  • Image inspect answers in a fraction of the time: dates are parsed with shared formatters, and requests that arrive together, as Compose sends them, share one image listing. compose up of three services went from 5.6 s to 4.4 s.
  • When Irekobox is replaced by a differently signed build (a build from source, then a release), macOS stops starting the background helper. The app now registers it again as soon as it sees the change, and Settings › General shows Repair Background Helper if the helper still didn't start.
  • DOCKER_API_TRACE=1 lines show a timestamp and how long each request took.

Checksums (SHA-256)

a76d6d6bde37e35aeac5019b97cbe7204f9cefc2121fd0ff3fb72fab274026e3  Irekobox-0.1.3.dmg
dff2229f6b081779beae99553bb2ae00b8a57e6d92637b246d569040d5af4b66  Irekobox-0.1.3.zip

Irekobox 0.1.2

Choose a tag to compare

@sirruf sirruf released this 30 Oct 07:36

Compose projects come up unchanged in many more cases. Checked against 18 projects from docker/awesome-compose (scripts/compat/run.sh).

  • Images built by docker compose load at any size: request bodies over 16 MB go to disk instead of memory (Node and Java images used to fail with bodyTooLarge).
  • Compose secrets: and other single-file bind mounts work.
  • Images without an arm64 variant are pulled for amd64 and run under Rosetta, as Docker does on Apple silicon.
  • New volumes are filled from the image the first time they're mounted, with its owner and mode, and start empty (no lost+found): node_modules volumes and services that don't run as root now work.
  • Label values containing = (for example healthchecks with --password=…) are accepted.
  • A container with a healthcheck reports starting until its first check, so compose up --wait no longer fails early.

Checksums (SHA-256)

b731255b17dfd28717581c19dbecb596891c334379063f98d3dd7f54ef66be7d  Irekobox-0.1.2.dmg
e7f29dd3998480c10ba82e07b68c79edb4ff0bdcb25b074c65291dd218c51824  Irekobox-0.1.2.zip

Irekobox 0.1.1

Choose a tag to compare

@sirruf sirruf released this 30 Oct 06:12
  • Asks before stopping or restarting the engine (Settings, Troubleshoot, ⌘K) and before recreating a Compose project.
  • Logs open in bounded memory: the last 8 MB of a long log, read in chunks.
  • Docker API: a chunked upload can no longer crash the background agent, and large uploads are decoded once.
  • Machines shows machine VMs that container no longer lists, so you can delete them.

Checksums (SHA-256)

0af487a54377450eb17d65c70b1553c53877e1994fc91a4a4674a60951c9e14b  Irekobox-0.1.1.dmg
a6f2c1aaa4c131ae454556661170f2e33eb482a104c392f022a34b69c862e686  Irekobox-0.1.1.zip

Irekobox 0.1.0

Choose a tag to compare

@sirruf sirruf released this 30 Oct 05:36

First public release. A native Mac app for Apple's container: containers, Compose projects, Linux machines and Kubernetes, with the Docker API for your existing tools.

Requires a Mac with Apple silicon and macOS 26 or later. Signed and notarized; it updates itself.

Please report problems in Issues.

Checksums (SHA-256)

1aa9212c83c156b848e9cfbb059aa79a87dfb0c0104be89e16069d8dd954cedb  Irekobox-0.1.0.dmg
15bf92928a35902a2c39e39eba9d00b573215cb0ba339f6788f2a057f7739731  Irekobox-0.1.0.zip