Hello ConTeXt community,

Following Bruce Horrocks’s recent message about containers and ConTeXt, I 
wanted to share a small observation and ask for guidance.

I am a complete beginner regarding Docker and container-based workflows, but I 
wanted to experiment a bit on my macOS system (MacBook Pro with Apple Silicon). 
With the help of AI tools I managed to get a ConTeXt LMTX container running 
successfully.

I am not entirely sure how the ConTeXt distributions end up inside the various 
container images maintained by the community, but I encountered a reproducible 
issue that might be relevant — or at least worth mentioning.

Environment

I am not using Docker Desktop.

Instead I run Docker via Colima, installed through Homebrew:

  *   macOS (Apple Silicon, M1)

  *   colima 0.6.x

  *   docker 27.x (client)

  *   container image from:

registry.gitlab.com/islandoftex/images/context:lmtx

  *   ConTeXt inside the container reports:

system          > ConTeXt  ver: 2025.11.24 17:55 LMTX  fmt: 2025.11.30  int: 
english/english

For basic test documents everything works perfectly.

However, when I try to compile some of my older teaching materials that use a 
combination of:

  *   TikZ (included through my own module t-math.mkiv),

  *   itemize structures,

  *   margin texts,

  *   buffers reused through \startbuffer / \getbuffer / \dorecurse,


the following happens:


Observed behaviour

  *   ConTeXt runs without any visible TeX error.

  *   The .log file contains no errors or warnings beyond normal module loading.

  *   A PDF is generated — but instead of typeset content, some pages show a 
large, plain “ERROR” message.

  *   The error does not occur in my older standalone installation of ConTeXt 
LMTX on macOS:

the same sources compile correctly outside the container.


After some investigation, isolating parts of the code, and temporarily removing 
modules, I found:


Cause located experimentally


If I comment out the line in my module that loads TikZ:

\usemodule[tikz]

then the document compiles without the “ERROR” output.

So it appears that:


➡ The issue is triggered by the interaction between TikZ (m-tikz.mkxl) and 
ConTeXt LMTX inside the container.


To be clear:

I’m not explicitly using TikZ drawings in the affected document — the module 
simply loads TikZ because I use it in other teaching materials.


What I would like to ask

  1.  Is this expected behaviour in the current LMTX version?

(i.e. TikZ support being partial or not intended to be used during this phase 
of development?)

  2.  Could there be differences between the container build and standalone 
builds that affect TikZ integration?

  3.  Is there a recommended way to include TikZ conditionally, so that 
documents which do not use actual TikZ graphics avoid triggering internal 
errors?

  4.  If useful, I can prepare a minimal reproducible example (buffer + itemize 
+ margin text) that triggers the issue when TikZ is loaded.


Additional diagnostic detail

  *   The issue is not related to Docker/Colima caching, mounts, or filesystem 
access.

  *   Buffers, itemize, and my macros all work as expected when TikZ is not 
loaded.

  *   The error page appears to be generated by some fallback mechanism in the 
TikZ module (not by TeX error handling), since the log file remains clean.

________________________________

If this is already known behaviour or a limitation, I would gladly adjust my 
workflow.

If not, I’m happy to help provide reproducible test cases.


Many thanks to everyone maintaining ConTeXt and the container images!


Best regards,

Jaroslav Hajtmar



Here is the email I am referring to:

4. 12. 2025 v 1:08, Bruce Horrocks <[email protected]>:



On 1 Dec 2025, at 06:24, Thangalin <[email protected]> wrote:

I'm not sure what the issue is here.

It's a pet peeve of mine: using a specific term instead of a general term when 
writing software and configuration files.

Ah, I see. Well, Docker did get there first and for a while there was no other 
terminology. However a Google has showed me that there does seem to be a 
general effort to moved to more neutral wording so I'm happy to change the page.


Instead of a "Docker" image you can make a container image that works with both 
Docker and podman. Instead of a "Dockerfile" you can call it a "Containerfile" 
and it'll work with both podman and Docker and whatever other containerization 
platform comes out in the future. For documentation you can write, "works with 
Docker and podman" to help the searchers.

This would work.


Speaking of images, another issue with the wiki's example is that there isn't 
an obvious way to import external images from outside the container environment 
(i.e., no external directory paths are mapped). Anyway, I recommend looking at 
the Containerfile I put together, as it adds a number of features to running 
containerized ConTeXt. Feel free to pilfer or not.

Is that the Keenwrite one?
<https://repo.autonoma.ca/?action=blob&repo=keenwrite.git&hash=e23a2a0f03894070ff01472d36dc133285c39120&name=Containerfile>

It contains a copyright statement so I wouldn't want to take too much. I think 
it will be easiest to position the Wiki page as a simple container that 
provides the minimum needed for people to get going and link to the above 
containerfile for advanced users.

Regards,


—
Bruce Horrocks
Hampshire, UK

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / 
https://mailman.ntg.nl/mailman3/lists/ntg-context.ntg.nl
webpage  : https://www.pragma-ade.nl / https://context.aanhet.net (mirror)
archive  : https://github.com/contextgarden/context
wiki     : https://wiki.contextgarden.net
___________________________________________________________________________________

Reply via email to