Docker miniserver and bx-compat-cfml installation

I am getting an error when trying to install bx-cfml-compat on the boxlang:miniserver Docker image with the following docker-compose file:

services:
  masa_mysql_cfml:
    image: ortussolutions/boxlang:miniserver
    environment:
      BOXLANG_MODULES: bx-compat-cfml

Resolution of the proper version appears to fail as it tries to download https://downloads.ortussolutions.com/ortussolutions/boxlang-modules/bx-compat-cfml/1.0.0/bx-compat-cfml-1.0.0.zip and then can’t unzip because it is downloading a 404 instead of the module…

This should be fixed now. Can you please try again.

I’m still experiencing the same:

masa_mysql_boxlang-1  | *************************************************************************
masa_mysql_boxlang-1  | Welcome to the BoxLang® Module Quick Installer
masa_mysql_boxlang-1  | *************************************************************************
masa_mysql_boxlang-1  | This will download and install the requested module into you
masa_mysql_boxlang-1  | BoxLang® HOME directory at [/root/.boxlang/modules/bx-compat-cfml]
masa_mysql_boxlang-1  | *************************************************************************
masa_mysql_boxlang-1  | You can also download the BoxLang® modules from https://forgebox.io
masa_mysql_boxlang-1  | *************************************************************************
masa_mysql_boxlang-1  | Downloading Module [bx-compat-cfml] from [https://downloads.ortussolutions.com/ortussolutions/boxlang-modules/bx-compat-cfml/1.0.0/bx-compat-cfml-1.0.0.zip]
masa_mysql_boxlang-1  | Please wait...
masa_mysql_boxlang-1  |   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
masa_mysql_boxlang-1  |                                  Dload  Upload   Total   Spent    Left  Speed
100  1349    0  1349    0     0   5089      0 --:--:-- --:--:-- --:--:--  5090
masa_mysql_boxlang-1  | 
masa_mysql_boxlang-1  | Module downloaded, continuing installation...
masa_mysql_boxlang-1  | 
masa_mysql_boxlang-1  | 
masa_mysql_boxlang-1  | Unzipping Module...
masa_mysql_boxlang-1  | 
masa_mysql_boxlang-1  |   End-of-central-directory signature not found.  Either this file is not
masa_mysql_boxlang-1  |   a zipfile, or it constitutes one disk of a multi-part archive.  In the
masa_mysql_boxlang-1  |   latter case the central directory and zipfile comment will be found on
masa_mysql_boxlang-1  |   the last disk(s) of this archive.
masa_mysql_boxlang-1  | Archive:  /tmp/bx-compat-cfml.zip
masa_mysql_boxlang-1  | unzip:  cannot find zipfile directory in one of /tmp/bx-compat-cfml.zip or
masa_mysql_boxlang-1  |         /tmp/bx-compat-cfml.zip.zip, and cannot find /tmp/bx-compat-cfml.zip.ZIP, period.

Ok, I forgot to reseed the docker images. Can you try with the snapshot image first and if it works, I’ll publish it.

services:
  masa_mysql_cfml:
    image: ortussolutions/boxlang:miniserver-snapshot
    environment:
      BOXLANG_MODULES: bx-compat-cfml

The snapshot Docker image now downloads 1.0.16 and installs it. But then I run into the error:

masa_mysql_boxlang-1  | + Starting BoxLang Runtime...
masa_mysql_boxlang-1  | [2025-01-13T12:08:23,898] [main] [WARN ] [ortus.boxlang.runtime.config.Configuration] The [runtime.modules] configuration is not a JSON Object, ignoring it. 
masa_mysql_boxlang-1  | [2025-01-13T12:08:23,916] [main] [WARN ] [ortus.boxlang.runtime.config.Configuration] The [runtime.modules] configuration is not a JSON Object, ignoring it. 
masa_mysql_boxlang-1  | Exception in thread "main" ortus.boxlang.runtime.types.exceptions.NoFieldException: No such field [booleansAreNumbers] found in the class [ortus.boxlang.runtime.dynamic.casters.NumberCaster].
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.interop.DynamicInteropService.lambda$findField$2(DynamicInteropService.java:932)
masa_mysql_boxlang-1  |         at java.base/java.util.Optional.orElseThrow(Optional.java:403)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.interop.DynamicInteropService.findField(DynamicInteropService.java:931)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.interop.DynamicInteropService.setField(DynamicInteropService.java:890)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.interop.DynamicInteropService.assign(DynamicInteropService.java:2053)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.interop.DynamicObject.assign(DynamicObject.java:669)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.dynamic.Referencer.set(Referencer.java:165)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.dynamic.Referencer.setDeep(Referencer.java:231)
masa_mysql_boxlang-1  |         at boxgenerated.boxclass.ortus.boxlang.runtime.modules.compat__cfmla6c47ba15d5afd6b5445756ed4d9b3df.Moduleconfig$bx$Func_onLoad._invoke(/root/.boxlang/modules/bx-compat-cfml/ModuleConfig.bx:158)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.types.Function.invoke(Function.java:183)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.runnables.BoxClassSupport.dereferenceAndInvoke(BoxClassSupport.java:337)
masa_mysql_boxlang-1  |         at boxgenerated.boxclass.ortus.boxlang.runtime.modules.compat__cfmla6c47ba15d5afd6b5445756ed4d9b3df.Moduleconfig$bx.dereferenceAndInvoke(/root/.boxlang/modules/bx-compat-cfml/ModuleConfig.bx)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.modules.ModuleRecord.activate(ModuleRecord.java:658)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.services.ModuleService.activate(ModuleService.java:379)
masa_mysql_boxlang-1  |         at java.base/java.util.concurrent.ConcurrentHashMap$KeySpliterator.forEachRemaining(ConcurrentHashMap.java:3573)
masa_mysql_boxlang-1  |         at java.base/java.util.stream.ReferencePipeline$Head.forEach(ReferencePipeline.java:762)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.services.ModuleService.activateAll(ModuleService.java:311)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.services.ModuleService.onStartup(ModuleService.java:156)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.BoxRuntime.startup(BoxRuntime.java:524)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.BoxRuntime.getInstance(BoxRuntime.java:663)
masa_mysql_boxlang-1  |         at ortus.boxlang.runtime.BoxRuntime.getInstance(BoxRuntime.java:638)
masa_mysql_boxlang-1  |         at ortus.boxlang.web.MiniServer.main(MiniServer.java:137)
masa_mysql_boxlang-1 exited with code 1

Ok, yes, the issue is that the compact module is ahead of the current latest BoxLang binary. We will cut another beta in the coming days and this will be fixed. You can also just use the boxlang_version=snapshot and that will solve itself too.