Skip to main content

· One min read
Charles Korn

It's been a big few days for Batect, with two significant milestones achieved:

  • Batect has once again been featured on the Thoughtworks Technology Radar. It has been placed in "trial", the ring one step from "adopt".

  • Batect's GitHub repository broke through 500 stars.

I'd like to thank everyone who's helped get Batect to this point - whether you've simply tried "hello, world" with Batect, submitted some feedback or advocated for its adoption on your teams, Batect exists for its users, and I'm incredibly grateful for all the support and encouragement I've received from every one of you.

There's still much more to do, and many ways Batect could be further improved - watch this space!

Disclosure: while I am employed by Thoughtworks, I am not involved in the selection process for entries on the Radar, nor did I nominate Batect for inclusion. I did provide a review of the entry description prior to its publication. See "how do we build the Radar?" on the frequently asked questions page for more information on the process behind the Technology Radar.

· One min read
Charles Korn

If you've ever wanted to hear the story of how Batect got to where it is today, and some of the lessons learnt along the way, here's your chance: I'm presenting a talk titled Applying lessons from open source to your own platform on Tuesday, June 1 at 6pm (Melbourne time).

For those of you in Melbourne, you can attend in person, and it will also be live-streamed on Zoom for anyone to watch anywhere.

Registration is required at

· One min read
Charles Korn

I'm once again running a survey to collect feedback on Batect, and this year I'm offering an AU$50 voucher (or equivalent in your local currency) as a prize to encourage responses.

The survey is available at:

If you're using Batect on your team at the moment, I would be super grateful if you could also share this within your team - the more responses I get, the better feedback I get, and the better I can make Batect.

· 2 min read
Charles Korn

tl;dr: run ./batect --upgrade to upgrade to Batect v0.69.0 or later to ensure Batect continues to work after May 1

Bintray announced on February 3 that it will be shutting down on May 1, 2021.

Batect's wrapper script (batect on macOS and Linux, and batect.cmd on Windows) downloads Batect from Bintray if it has not already been cached on your machine.

After Bintray's shutdown on May 1, downloading Batect from Bintray will no longer work. Batect v0.69.0 introduces a new download server ( which does not rely on Bintray.

In order to continue using Batect without any issues after May 1, you must do one of the following:

Option 1: upgrade to v0.69.0 or later

To switch to the new server, the easiest thing to do is to upgrade with ./batect --upgrade. This will automatically update your wrapper script to the new version that uses the new download server.

Option 2: remain on an old version and switch to new server

The new download server also supports old versions. If you need to remain on an older version, make the following changes in your project's copy of the wrapper script:

-$DownloadUrlRoot = getValueOrDefault $env:BATECT_DOWNLOAD_URL_ROOT ""^
+$DownloadUrlRoot = getValueOrDefault $env:BATECT_DOWNLOAD_URL_ROOT ""^

$UrlEncodedVersion = [Uri]::EscapeDataString($Version)^

-$DownloadUrl = getValueOrDefault $env:BATECT_DOWNLOAD_URL "$DownloadUrlRoot/$UrlEncodedVersion/bin/batect-$UrlEncodedVersion.jar"^
+$DownloadUrl = getValueOrDefault $env:BATECT_DOWNLOAD_URL "$DownloadUrlRoot/$UrlEncodedVersion/batect-$UrlEncodedVersion.jar"^

· 2 min read
Charles Korn

tl;dr: Renovate now supports Batect, which means it can automatically send you PRs to update Batect itself as well as any images or bundles you reference in your configuration files.

Keeping dependencies and tools up-to-date is a necessary but tedious task for any codebase. Tools like Dependabot and Renovate help to automate this process by scanning your repository for dependencies, identifying which ones are out of date and then sending you PRs to update them.

I'm pleased to announce that Renovate has accepted a series of PRs that add support for Batect to Renovate. These cover all three scenarios required to keep Batect and your configuration up-to-date:

  • updating Batect itself (equivalent to running ./batect --upgrade)
  • updating any Docker image references in your configuration files
  • updating any bundle references in your configuration files

If you use Dockerfiles to build images for use with Batect, Renovate already has you covered as well - updating base image references in Dockerfiles has been supported by Renovate for a while.

No configuration is required to activate this. If you're already using Renovate's hosted service, you'll start receiving update PRs automatically. If you host Renovate yourself, update to 24.2.0 or later.

By default, Renovate will only update image or bundle references in files named batect.yml or batect-bundle.yml. If you use file includes to split your configuration over multiple files, you'll need to configure which files to search with fileMatch in your renovate.json. Update 22/12: if your configuration is split over multiple files with file includes, no further configuration is required - Renovate will now automatically detect image and bundle references in files included in your main configuration file.

Take a look at the documentation for more information.

· 5 min read
Charles Korn

Welcome to the (long-overdue) refreshed This site has been reimagined from the ground up to better serve you. Some of the most exciting changes include:

As always, I'm keen to hear your feedback on these changes. Please open an issue or post on Spectrum if you have any suggestions or encounter any problems.

A logo for Batect (and a capital letter)

Batect now has a shiny new logo:

Much like Batect itself, I've tried to keep it simple. (You'll be pleased to hear I discarded ideas including a dolphin juggling containers on a unicycle and a rocket with a bunch of containers strapped to the side.)

Oh, and you'll notice that I've embraced the capital letter: the 'official' spelling is now Batect, not batect. The lowercase letter always felt awkward, and others writing about Batect seemed to use the lowercase spelling only around 50% of the time. So, rather than try to fight it, I've embraced it. Batect's all grown up now.

The new logo and capitalisation should be updated in most places now. If you notice any lowercase instances of 'Batect', please open an issue.

Improved readability

Given that documentation is largely words, getting the display of words right has been a priority for me. This entire site is now built with Docusaurus, which uses Infima for its default styling. Infima is designed for content-heavy sites such as documentation, and provides a set of sensible defaults that offer good readability.

On top of Infima, I've selected some great open source fonts that help differentiate between body and heading text, making it easier to scan through longer pages.

Reorganised documentation structure

The documentation has been reorganised to better address the needs of different groups of users:

On top of this reorganisation, each page has been reviewed, updated and clarified, and diagrams have been added in places to aid explanations.

The old documentation site had very basic search that didn't always find the most relevant results. For example, it struggled with synonyms. The new site uses Algolia DocSearch to provide relevant results, quickly. And it's keyboard friendly as well: just press Command+K (macOS) or Control+K (Windows and Linux) to open the search dialog.

(The search index may take 24 hours to pick up the new site - if search seems a bit wacky on December 7 or 8, this will be why.)

Improved hosting

The documentation is now hosted on Netlify, which brings a bunch of cool features. The most exciting one is support for server-side redirects. Previously, I was hesitant to change URLs for fear of breaking links, but this meant that the documentation wasn't always organised in the most logical way. I'll now be able to more easily shift content around as Batect continues to evolve.

Elevation of bundles to the top-level navigation

The old bundles page was shoehorned into the old documentation because there wasn't really any other place to put it, but this hid them. They're now highlighted in the top-level navigation at the top of the page, and the layout of the page has been much improved as well.

A blog

While documentation is great for more formal communication of information, there wasn't a great way to highlight new features, publish less formal tutorials or ideas and make announcements. I'm looking forward to being able to use this blog for all of those things and more.

A proper home page

Batect is no longer just a small project used by a single team - it now has hundreds of users all around the globe. These users (you!) recommend Batect to their friends and colleagues, but the old home page that greeted them was a huge wall of text that didn't do a great job of highlighting Batect's best features to those who haven't used it. The new home page is much simpler and gets to the point.

In closing

I'm always working to make Batect easier to use and great documentation is a key part of that. If you run into any issues with the new site or have any recommendations on how to improve it, please don't hesitate to let me know.

Subscribe to the Batect newsletter

Get news and announcements direct to your inbox.