Thank you, Erik. I think the templates on Open Exchange should use your recommendations to make things easier.
- Log in to post comments
Thank you, Erik. I think the templates on Open Exchange should use your recommendations to make things easier.
docker compose up -d
Compose can now delegate builds to bake for better performance.
To do so, set COMPOSE\_BAKE=true.
\[+] Building 1103.5s (10/11) docker:default
\=> \[iris internal] load build definition from Dockerfile 0.0s
\=> => transferring dockerfile: 1.82kB 0.0s
\=> \[iris internal] load metadata for docker.io/intersystemsdc/iris-community:preview 0.6s
\=> \[iris internal] load .dockerignore 0.0s
\=> => transferring context: 130B 0.0s
\=> \[iris final 1/3] FROM docker.io/intersystemsdc/iris-community:preview\@sha256:7d6c62def4f1bc118800cb32ac72b58d 0.0s
\=> \[iris] [https://github.com/grongierisc/iris-docker-multi-stage-script/releases/…](https://github.com/grongierisc/iris-docker-multi-stage-script/releases/…) 0.5s
\=> \[iris internal] load build context 0.0s
\=> => transferring context: 26.65kB 0.0s
\=> CACHED \[iris builder 2/4] WORKDIR /home/irisowner/dev 0.0s
\=> CACHED \[iris builder 3/4] COPY .iris\_init /home/irisowner/.iris\_init 0.0s
\=> ERROR \[iris builder 4/4] RUN --mount=type=bind,src=.,dst=. pip3 install -r requirements.txt && iri 1102.7s
\=> CACHED \[iris final 2/3] ADD --chown=irisowner:irisowner [https://github.com/grongierisc/iris-docker-multi-stag](https://github.com/grongierisc/iris-docker-multi-stag) 0.0s
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
> \[iris builder 4/4] RUN --mount=type=bind,src=.,dst=. pip3 install -r requirements.txt && iris start IRIS &&
> iris session IRIS \< iris.script && iris stop IRIS quietly:
> 1.329 Defaulting to user installation because normal site-packages is not writeable
> 1.634 Using 'iris.cpf' configuration file
> 1.843
> 1.922 Starting Control Process
> 1.922 Global buffer setting requires attention. Auto-selected 25% of total memory.
> 1.922 Allocated 2721MB shared memory
> 1.922 1982MB global buffers, 198MB routine buffers
> 2.066 This copy of InterSystems IRIS has been licensed for use exclusively by:
> 2.066 InterSystems IRIS Community
> 2.066 Copyright (c) 1986-2026 by InterSystems Corporation
> 2.066 Any other use is a violation of your license agreement
> 10.54
> 10.54 1 alert(s) during startup. See messages.log for details.
> 10.56 Starting IRIS
> 10.56
> 10.56
> 10.56 Node: buildkitsandbox, Instance: IRIS
> 10.56
> 10.56 USER>
> 10.56
> 10.56 %SYS>
> 10.56
> 10.56 %SYS>
> 10.56
> 10.56 %SYS>
> 10.56
> 10.56 %SYS>
> 10.69
> 10.69 %SYS>
> 14.28
> 14.28 Building dependency graph...Done.
> 14.38 \[%SYS|passwordless] Initialize START
> 14.38 \[%SYS|passwordless] Initialize SUCCESS
> 14.38 \[%SYS|passwordless] Reload START (/usr/irissys/ipm/passwordless/1.0.5/)
> 14.50 \[%SYS|passwordless] Reload SUCCESS
> 14.50 \[passwordless] Module object refreshed.
> 14.50 \[%SYS|passwordless] Validate START
> 14.50 \[%SYS|passwordless] Validate SUCCESS
> 14.50 \[%SYS|passwordless] Compile START
> 14.52 \[%SYS|passwordless] Compile SUCCESS
> 14.52 \[%SYS|passwordless] Activate START
> 14.52 \[%SYS|passwordless] Configure START
> 14.63 OK
> 14.63 \[%SYS|passwordless] Configure SUCCESS
> 14.78 \[%SYS|passwordless] Activate SUCCESS
> 15.28 %SYS>
> 15.28
> 15.28 %SYS>
> 15.28
> 15.28 %SYS>
> 15.28
> 15.28 %SYS>
> 15.28
> 15.28 %SYS>
> 15.28
> 15.28 %SYS>
> 15.28
> 15.28 %SYS>
> 15.28
> 15.28 %SYS>
> 15.28
> 15.28 %SYS>
> 15.28
> 15.28 Load started on 03/16/2026 15:03:55
> 15.28 Loading file /home/irisowner/dev/App.Installer.cls as udl
> 15.40 Compiling class App.Installer
> 15.41 Compiling routine App.Installer.1
> 15.41 Load finished successfully.
> 15.41
> 15.41 %SYS>
> 15.41 2026-03-16 15:03:55 0 App.Installer: Installation starting at 2026-03-16 15:03:55, LogLevel=3
> 15.41 2026-03-16 15:03:55 3 SetVariable: Namespace=IRISAPP
> 15.41 2026-03-16 15:03:55 3 SetVariable: database=irisapp
> 15.41 2026-03-16 15:03:55 3 Evaluate: ${Namespace} -> IRISAPP
> 15.41 2026-03-16 15:03:55 3 Evaluate: ${Namespace}-CODE -> IRISAPP-CODE
> 15.41 2026-03-16 15:03:55 3 Evaluate: ${Namespace}-DATA -> IRISAPP-DATA
> 15.41 2026-03-16 15:03:55 3 Evaluate: ${Namespace}-DATA -> IRISAPP-DATA
> 15.41 2026-03-16 15:03:55 3 Evaluate: ${mgrdir}${database}/data -> irisapp/data
> 15.41 2026-03-16 15:03:55 3 Evaluate: %DB\_${Namespace}-DATA -> %DB\_IRISAPP-DATA
> 15.41 2026-03-16 15:03:55 1 CreateDatabase: Creating database IRISAPP-DATA in /usr/irissys/mgr/irisapp/data/ with resource %DB\_IRISAPP-DATA
> 15.41 2026-03-16 15:03:55 2 CreateDatabase: Overwriting /usr/irissys/mgr/irisapp/data/IRIS.DAT
> 15.44 2026-03-16 15:03:55 2 CreateDatabase: Adding database IRISAPP-DATA
> 16.12 2026-03-16 15:03:56 2 CreateDatabase: Creating and assigning resource '%DB\_IRISAPP-DATA' to IRISAPP-DATA
> 16.13 2026-03-16 15:03:56 3 Evaluate: ${Namespace}-CODE -> IRISAPP-CODE
> 16.13 2026-03-16 15:03:56 3 Evaluate: ${mgrdir}${database}/code -> irisapp/code
> 16.13 2026-03-16 15:03:56 3 Evaluate: %DB\_${Namespace}-CODE -> %DB\_IRISAPP-CODE
> 16.13 2026-03-16 15:03:56 1 CreateDatabase: Creating database IRISAPP-CODE in /usr/irissys/mgr/irisapp/code/ with resource %DB\_IRISAPP-CODE
> 16.13 2026-03-16 15:03:56 2 CreateDatabase: Overwriting /usr/irissys/mgr/irisapp/code/IRIS.DAT
> 16.16 2026-03-16 15:03:56 2 CreateDatabase: Adding database IRISAPP-CODE
> 16.17 2026-03-16 15:03:56 2 CreateDatabase: Creating and assigning resource '%DB\_IRISAPP-CODE' to IRISAPP-CODE
> 16.18 2026-03-16 15:03:56 1 CreateNamespace: Creating namespace IRISAPP using IRISAPP-CODE/IRISAPP-DATA
> 16.18 2026-03-16 15:03:56 2 CreateNamespace: Adding namespace IRISAPP
> 16.23 2026-03-16 15:03:56 1 ActivateConfiguration: Activating Configuration
> 16.26
> 16.26 Enabling namespace 'IRISAPP' for Interoperability:
> 16.26 \* This instance is not in a mirror
> 16.26 \* Mappings
> 16.26 - Class Mappings:
> 16.26 + Adding class mapping Ens -> ENSLIB
> 16.27 + Adding class mapping EnsLib -> ENSLIB
> 16.27 + Adding class mapping EnsPortal -> ENSLIB
> 16.28 + Adding class mapping CSPX.Dashboard -> ENSLIB
> 16.28 - Updating CPF
> 16.29 - Moving changes to active configuration
> 16.30 - Loading new mappings for namespace 'IRISAPP'
> 16.39 \* CLASS Mappings Complete!
> 16.39 - Routine Mappings:
> 16.39 + Adding routine mapping Ens\* -> ENSLIB
> 16.40 - Updating CPF
> 16.41 - Moving changes to active configuration
> 16.42 - Loading new mappings for namespace 'IRISAPP'
> 16.44 \* ROUTINE Mappings Complete!
> 16.44 - Global Mappings:
> 16.48 + Creating new global directory entry for ^EnsDICOM.Dictionary
> 16.48 + Creating new global directory entry for ^EnsEDI.Description
> 16.48 + Creating new global directory entry for ^EnsEDI.Schema
> 16.48 + Creating new global directory entry for ^EnsEDI.X12.Description
> 16.48 + Creating new global directory entry for ^EnsEDI.X12.Schema
> 16.48 + Creating new global directory entry for ^IRIS.Msg
> 16.49 + Creating new global directory entry for ^IRIS.MsgNames
> 16.49 + Adding global mapping ^EnsDICOM.Dictionary -> ENSLIB
> 16.49 + Adding global mapping ^EnsEDI.Description("X","X12") -> ENSLIB
> 16.50 + Adding global mapping ^EnsEDI.Schema("HIPAA\_4010") -> ENSLIB
> 16.51 + Adding global mapping ^EnsEDI.Schema("HIPAA\_5010") -> ENSLIB
> 16.51 + Adding global mapping ^EnsEDI.Schema("HIPAA\_6020") -> ENSLIB
> 16.52 + Adding global mapping ^EnsEDI.Schema("ISC\_00401") -> ENSLIB
> 16.52 + Adding global mapping ^EnsEDI.Schema("ISC\_00405") -> ENSLIB
> 16.52 + Adding global mapping ^EnsEDI.X12.Description("HIPAA\_4010") -> ENSLIB
> 16.53 + Adding global mapping ^EnsEDI.X12.Description("HIPAA\_5010") -> ENSLIB
> 16.54 + Adding global mapping ^EnsEDI.X12.Description("HIPAA\_6020") -> ENSLIB
> 16.54 + Adding global mapping ^EnsEDI.X12.Schema("HIPAA\_4010") -> ENSLIB
> 16.55 + Adding global mapping ^EnsEDI.X12.Schema("HIPAA\_5010") -> ENSLIB
> 16.55 + Adding global mapping ^EnsEDI.X12.Schema("HIPAA\_6020") -> ENSLIB
> 16.56 + Adding global mapping ^IRIS.Msg("Arial,Tahoma,Verdana") -> ENSLIB
> 16.57 + Adding global mapping ^IRIS.Msg("Confirm") -> ENSLIB
> 16.57 + Adding global mapping ^IRIS.Msg("EDIDocumentView") -> ENSLIB
> 16.57 + Adding global mapping ^IRIS.Msg("ENSEMBLE") -> ENSLIB
> 16.58 + Adding global mapping ^IRIS.Msg("Ens") -> ENSLIB
> 16.58 + Adding global mapping ^IRIS.Msg("EnsAlert") -> ENSLIB
> 16.59 + Adding global mapping ^IRIS.Msg("EnsBPL") -> ENSLIB
> 16.59 + Adding global mapping ^IRIS.Msg("EnsColumns") -> ENSLIB
> 16.60 + Adding global mapping ^IRIS.Msg("EnsDICOM") -> ENSLIB
> 16.60 + Adding global mapping ^IRIS.Msg("EnsEDI") -> ENSLIB
> 16.60 + Adding global mapping ^IRIS.Msg("EnsEDIEDIFACT") -> ENSLIB
> 16.61 + Adding global mapping ^IRIS.Msg("EnsEDIHL7") -> ENSLIB
> 16.61 + Adding global mapping ^IRIS.Msg("EnsEDISEF") -> ENSLIB
> 16.62 + Adding global mapping ^IRIS.Msg("EnsEDIX12") -> ENSLIB
> 16.62 + Adding global mapping ^IRIS.Msg("EnsEnt") -> ENSLIB
> 16.63 + Adding global mapping ^IRIS.Msg("EnsLDAP") -> ENSLIB
> 16.63 + Adding global mapping ^IRIS.Msg("EnsMQTT") -> ENSLIB
> 16.63 + Adding global mapping ^IRIS.Msg("EnsPushNotifications") -> ENSLIB
> 16.64 + Adding global mapping ^IRIS.Msg("EnsRecordMap") -> ENSLIB
> 16.64 + Adding global mapping ^IRIS.Msg("EnsSAP") -> ENSLIB
> 16.65 + Adding global mapping ^IRIS.Msg("EnsSR") -> ENSLIB
> 16.65 + Adding global mapping ^IRIS.Msg("EnsSearchTable") -> ENSLIB
> 16.65 + Adding global mapping ^IRIS.Msg("EnsWf") -> ENSLIB
> 16.66 + Adding global mapping ^IRIS.Msg("EnsXPATH") -> ENSLIB
> 16.66 + Adding global mapping ^IRIS.Msg("EnsebXML") -> ENSLIB
> 16.67 + Adding global mapping ^IRIS.Msg("Ensemble") -> ENSLIB
> 16.67 + Adding global mapping ^IRIS.Msg("ITK") -> ENSLIB
> 16.67 + Adding global mapping ^IRIS.Msg("RuleEditor") -> ENSLIB
> 16.68 + Adding global mapping ^IRIS.Msg("Workflow") -> ENSLIB
> 16.68 + Adding global mapping ^IRIS.Msg("tahoma,verdana") -> ENSLIB
> 16.69 + Adding global mapping ^IRIS.MsgNames("Arial,Tahoma,Verdana") -> ENSLIB
> 16.70 + Adding global mapping ^IRIS.MsgNames("Confirm") -> ENSLIB
> 16.70 + Adding global mapping ^IRIS.MsgNames("EDIDocumentView") -> ENSLIB
> 16.70 + Adding global mapping ^IRIS.MsgNames("ENSEMBLE") -> ENSLIB
> 16.71 + Adding global mapping ^IRIS.MsgNames("Ens") -> ENSLIB
> 16.71 + Adding global mapping ^IRIS.MsgNames("EnsAlert") -> ENSLIB
> 16.72 + Adding global mapping ^IRIS.MsgNames("EnsBPL") -> ENSLIB
> 16.72 + Adding global mapping ^IRIS.MsgNames("EnsColumns") -> ENSLIB
> 16.72 + Adding global mapping ^IRIS.MsgNames("EnsDICOM") -> ENSLIB
> 16.73 + Adding global mapping ^IRIS.MsgNames("EnsEDI") -> ENSLIB
> 16.73 + Adding global mapping ^IRIS.MsgNames("EnsEDIEDIFACT") -> ENSLIB
> 16.74 + Adding global mapping ^IRIS.MsgNames("EnsEDIHL7") -> ENSLIB
> 16.74 + Adding global mapping ^IRIS.MsgNames("EnsEDISEF") -> ENSLIB
> 16.74 + Adding global mapping ^IRIS.MsgNames("EnsEDIX12") -> ENSLIB
> 16.75 + Adding global mapping ^IRIS.MsgNames("EnsEnt") -> ENSLIB
> 16.75 + Adding global mapping ^IRIS.MsgNames("EnsLDAP") -> ENSLIB
> 16.76 + Adding global mapping ^IRIS.MsgNames("EnsMQTT") -> ENSLIB
> 16.76 + Adding global mapping ^IRIS.MsgNames("EnsPushNotifications") -> ENSLIB
> 16.76 + Adding global mapping ^IRIS.MsgNames("EnsRecordMap") -> ENSLIB
> 16.77 + Adding global mapping ^IRIS.MsgNames("EnsSAP") -> ENSLIB
> 16.77 + Adding global mapping ^IRIS.MsgNames("EnsSR") -> ENSLIB
> 16.78 + Adding global mapping ^IRIS.MsgNames("EnsSearchTable") -> ENSLIB
> 16.78 + Adding global mapping ^IRIS.MsgNames("EnsWf") -> ENSLIB
> 16.79 + Adding global mapping ^IRIS.MsgNames("EnsXPATH") -> ENSLIB
> 16.79 + Adding global mapping ^IRIS.MsgNames("EnsebXML") -> ENSLIB
> 16.79 + Adding global mapping ^IRIS.MsgNames("Ensemble") -> ENSLIB
> 16.80 + Adding global mapping ^IRIS.MsgNames("ITK") -> ENSLIB
> 16.80 + Adding global mapping ^IRIS.MsgNames("RuleEditor") -> ENSLIB
> 16.81 + Adding global mapping ^IRIS.MsgNames("Workflow") -> ENSLIB
> 16.81 + Adding global mapping ^IRIS.MsgNames("tahoma,verdana") -> ENSLIB
> 16.82 - Updating CPF
> 16.83 - Moving changes to active configuration
> 16.84 - Loading new mappings for namespace 'IRISAPP'
> 16.88 \* GLOBAL Mappings Complete!
> 16.88 \* Validating Installation in 'IRISAPP'
> 16.88 - Checking class 'Ens.Director' ...
> 16.90 - Checking class 'Ens.MessageBody' ...
> 16.90 - Checking class 'Ens.StudioManager' ...
> 16.90 \* Creating Interoperability Management Portal
> 16.90 - Configuring portal: /csp/irisapp \[IRISAPP] using /usr/irissys/csp/irisapp
> 16.90 - Creating directory: /usr/irissys/csp/irisapp
> 16.90 - Creating CSP Application: /csp/irisapp
> 16.90 Name = \[/csp/irisapp]
> 16.90 AutheEnabled = \[36]
> 16.90 Enabled = \[1]
> 16.90 Description = \[Interoperability Management Portal]
> 16.90 Resource = \[%Ens\_Portal]
> 16.90 AutoCompile = \[0]
> 16.90 Timeout = \[900]
> 16.90 Path = \[/usr/irissys/csp/irisapp]
> 16.90 Recurse = \[1]
> 16.90 LoginPage = \[]
> 16.90 InbndWebServicesEnabled = \[1]
> 16.90 TwoFactorEnabled = \[0]
> 16.90 IsNameSpaceDefault = \[0]
> 16.90 PermittedClasses = \[]
> 16.90 MatchRoles = \[]
> 16.90 Type = \[2]
> 16.90 CookiePath = \[/csp/irisapp/]
> 16.90 LockCSPName = \[1]
> 16.90 NameSpace = \[IRISAPP]
> 16.90 CSPZENEnabled = \[1]
> 16.90 GroupById = \[%ISCMgtPortal]
> 16.90 ServeFiles = \[2]
> 16.90 UseCookies = \[2]
> 16.97 - Removing legacy CSP pages and files from directory '/usr/irissys/csp/irisapp/'
> 16.97 \* Adding explicit SQL privileges to Interoperability Roles
> 16.97 - Adding SQL privileges for role '%EnsRole\_Administrator'
> 17.04 - Adding SQL privileges for role '%EnsRole\_AlertOperator'
> 17.04 - Adding SQL privileges for role '%EnsRole\_Developer'
> 17.04 - Adding SQL privileges for role '%EnsRole\_InteropEditorsAPI'
> 17.04 - Adding SQL privileges for role '%EnsRole\_Monitor'
> 17.04 - Adding SQL privileges for role '%EnsRole\_Operator'
> 17.04 - Adding SQL privileges for role '%EnsRole\_RegistryManager'
> 17.05 - Adding SQL privileges for role '%EnsRole\_RegistrySelect'
> 17.05 - Adding SQL privileges for role '%EnsRole\_RulesDeveloper'
> 17.05 - Adding SQL privileges for role '%EnsRole\_TempSQLDict'
> 17.05 - Adding SQL privileges for role '%EnsRole\_WebDeveloper'
> 17.05 \* Modifying Interop Editors API app to use %EnsRole\_InteropEditorsAPI role
> 17.05 - Interop Editors application already has %EnsRole\_InteropEditorsAPI role
> 17.05 \* Adding Interoperability SearchTables
> 17.05 - Validating all SearchTable metadata
> 17.07 - Regenerating metadata for EnsLib.EDI.EDIFACT.SearchTable
> 17.11 - Regenerating metadata for EnsLib.EDI.X12.SearchTable
> 17.11 - Regenerating metadata for EnsLib.EDI.XML.SearchTable
> 17.11 - Regenerating metadata for EnsLib.XML.SearchTable
> 17.12 - Setting initial default Purge Settings
> 17.12 \* Converting Business Process Pending Responses list storage
> 17.12 - No Business Process Pending Responses to upgrade
> 17.12 \* Converting Storage of X12 Relational Conditions
> 17.12 - No custom X12 schemas in need of upgrade
> 17.12 \* Legacy CSP Portal not installed, so no legacy CSP pages recompiled.
> 17.12 \* Generating meta data for Interoperability Analytics items
> 17.17 Importing: Ens/Analytics/ActivityVolumeAndDuration.dashboard
> 17.39
> 17.39 Imported 1 item.
> 17.39 Encountered 0 errors during import.
> 17.40
> 17.40 \* Setting new namespace flags
> 17.40 - Enabling SyncCommit for Business Services
> 17.40 \* Examining if Interoperability temporary global mapping already configured
> 17.40 - Creating Interoperability temporary Data location
> 17.40 - Creating directory for new Interoperability temporary database /usr/irissys/mgr/irisapp/data/irisapp-dataenstemp/
> 17.40 - Creating database for new Interoperability Temporary Data database /usr/irissys/mgr/irisapp/data/irisapp-dataenstemp/. Protected by resource %DB\_IRISAPP-DATA
> 17.46 - Created global mapping IRIS.Temp.EnsHostTotals for namespace IRISAPP to remain in IRISTEMP
> 17.47 - Created global mapping IRIS.Temp.EnsPortal\* for namespace IRISAPP to remain in IRISTEMP
> 17.47 - Created global mapping IRIS.Temp.EnsPublic\* for namespace IRISAPP to remain in IRISTEMP
> 17.48 - Created global mapping IRIS.Temp.Ens\* for namespace IRISAPP to new temporary database
> 17.48 - Updating CPF
> 17.49 - Moving changes to active configuration
> 17.50 - Loading new mappings for namespace 'IRISAPP'
> 17.53 - Activated CPF change
> 17.53 \* Examining if secondary global mapping already configured
> 17.53 - Creating Seconday Data location
> 17.53 - Creating directory for new Secondary database /usr/irissys/mgr/irisapp/data/irisapp-datasecondary/
> 17.53 - Creating database for new Secondary Data database /usr/irissys/mgr/irisapp/data/irisapp-datasecondary/
> 17.60 - Assigned resource %DB\_IRISAPP-DATASECONDARY to database IRISAPP-DATASECONDARY
> 17.64 - Created global mapping Ens.SecondaryData\* for namespace IRISAPP
> 17.64 - Updating CPF
> 17.65 - Moving changes to active configuration
> 17.66 - Loading new mappings for namespace 'IRISAPP'
> 17.69 - Activated CPF change
> 17.69 EnableNamespace Complete.2026-03-16 15:03:58 1 ActivateConfiguration: Activating Configuration
> 17.74 2026-03-16 15:03:58 3 Evaluate: /csp/${app} -> /csp/
> 17.74 2026-03-16 15:03:58 3 Evaluate: ${cspdir}${app} ->
> 17.74 2026-03-16 15:03:58 3 Evaluate: :%DB\_${Namespace} -> :%DB\_IRISAPP
> 17.74 2026-03-16 15:03:58 1 CSPApplication: Creating /csp/ in IRISAPP
> 17.74 2026-03-16 15:03:58 0 App.Installer: ERROR #879: Target role %DB\_IRISAPP does not exist.
> 17.74 2026-03-16 15:03:58 0 App.Installer: Installation failed at 2026-03-16 15:03:58
> 17.74 2026-03-16 15:03:58 0 %Installer: Elapsed time 2.334696s
> 17.74
> 17.74 %SYS>
> 17.74
> 17.74 %SYS>
> 17.74
> 17.74 IRISAPP>
> 17.74
> 17.74 IRISAPP>
> 17.74
> 17.74 IRISAPP>
> 20.97
> 20.97 Building dependency graph...Done.
> 21.06 \[IRISAPP|vscode-per-namespace-settings] Initialize START
> 21.06 \[IRISAPP|vscode-per-namespace-settings] Initialize SUCCESS
> 21.06 \[IRISAPP|vscode-per-namespace-settings] Reload START (/usr/irissys/ipm/vscode-per-namespace-settings/1.0.0/)
> 21.26 \[IRISAPP|vscode-per-namespace-settings] Reload SUCCESS
> 21.26 \[vscode-per-namespace-settings] Module object refreshed.
> 21.26 \[IRISAPP|vscode-per-namespace-settings] Validate START
> 21.26 \[IRISAPP|vscode-per-namespace-settings] Validate SUCCESS
> 21.26 \[IRISAPP|vscode-per-namespace-settings] Compile START
> 21.37 \[IRISAPP|vscode-per-namespace-settings] Compile SUCCESS
> 21.37 \[IRISAPP|vscode-per-namespace-settings] Activate START
> 21.37 \[IRISAPP|vscode-per-namespace-settings] Configure START
> 21.40 Deleting class %Z.IPM.Bootstraps.Main
> 21.41 \[IRISAPP|vscode-per-namespace-settings] Configure SUCCESS
> 21.53 \[IRISAPP|vscode-per-namespace-settings] Activate SUCCESS
> 22.16 IRISAPP>
> 22.16
> 22.16 IRISAPP>
> 22.16
> 22.16 IRISAPP>
> 22.16
> 22.16 IRISAPP>
> 22.16
> 22.16 IRISAPP>
> 22.37
> 22.37 Load started on 03/16/2026 15:04:02
> 22.37 Loading file /home/irisowner/dev/module.xml as xml
> 22.53 Imported document: ipm-module-budget.ZPM
> 22.53 Load finished successfully.
> 22.53
> 22.53 Building dependency graph...Done.
> 22.59 Created inverted dependency graph from dependency graph
> 22.59 Constructed flat dependency list from inverted dependency graph
> 22.59 Starting installation of dependencies...
> 22.59
> 22.59 Load started on 03/16/2026 15:04:03
> 22.59 Loading file /home/irisowner/dev/module.xml as xml
> 22.66 Imported document: ipm-module-budget.ZPM
> 22.66 Load finished successfully.
> 22.66
> 22.66 Loading ipm-module-budget in process 649
> 22.66 \[IRISAPP|ipm-module-budget] Initialize START
> 22.66 Skipping preload - directory does not exist.
> 22.66 \[IRISAPP|ipm-module-budget] Initialize SUCCESS
> 22.66 \[IRISAPP|ipm-module-budget] Reload START (/home/irisowner/dev/)Segmentation fault (core dumped)
---
failed to solve: process "/bin/sh -c pip3 install -r requirements.txt && iris start IRIS && \tiris session IRIS \< iris.script && iris stop IRIS quietly" did not complete successfully: exit code: 139
\[ec2-user\@ip-172-31-44-82 ipm-module-budget]$
I tried to use the original Dockerfile. I also tried with the tests line commented out. I already tried to adjust file ownership (chmod -R 777 *).
ipm-module-budget/Dockerfile at master · oliverwilms/ipm-module-budget
I have commented out the Tests line in Dockerfile. I am still not able to have dependency for isc.rest or isc-rest.
I had added two files - requirements.txt and app.py - from @Pietro Di Leo's repo https://github.com/pietrodileo/iris_tool_and_data_manager. When I deleted those files, my container started without that error.
Can you copy the file from Backup to Primary server?
def verify_chain(signer_cert, ca_bundle_path): """Verify that the signer certificate chains up to a trusted CA in the bundle.""" # Load trusted CAs ca_store = crypto.X509Store()
with open(ca_bundle_path, "rb") as f:
pem_data = f.read()
# Split bundle into individual certs
for chunk in pem_data.split(b"-----END CERTIFICATE-----"):
block = chunk.strip()
if not block:
continue
block += b"\n-----END CERTIFICATE-----\n"
try:
ca = crypto.load_certificate(crypto.FILETYPE_PEM, block)
ca_store.add_cert(ca)
except Exception:
# Skip things that aren't PEMs
continue
# Convert cryptography.x509.Certificate -> OpenSSL.crypto.X509
signer_pem = signer_cert.public_bytes(encoding=serialization.Encoding.PEM)
signer_x509 = crypto.load_certificate(crypto.FILETYPE_PEM, signer_pem)
# Now verify
store_ctx = crypto.X509StoreContext(ca_store, signer_x509)
try:
store_ctx.verify_certificate()
print("✔ Certificate chain validation passed.")
except Exception as e:
raise ValueError(f"Certificate chain validation failed: {e}")
I was able to use the LoadCertificate() method. I am working on converting python code to ObjectScript.
I will use LoadCertificate(). I may need to store the string in a file.
https://docs.intersystems.com/irislatest/csp/documatic/%25CSP.Documatic…
Enrico, I got a python script for SAML Assertion Validation. I want to convert it to ObjectScript. I am working on Certificate Chain and Signature validation. I have a certificate bundle in a crt file. I will save the certificates to individual files and then use management portal or a class method to configure or import into IRIS.
I opened issue with WRC
It works. Thank you, Dmitrij
This line in plotly.py generates a dataframe:
df = iris.sql.exec(query).dataframe()
where query = "SELECT Top 10 Category, Credit, Debit, TrnCount FROM dc_iris.trncount where TrnYear=2025 and TrnMonth=8 Order By Debit DESC"
The bars in the graph reflect rows 0 to 9, not the amount in 'Debit'
Here is my data:
.png)
The Graph looks like this:
.png)
Collect 4 bonus points if your application is a healthcare interoperability solution that uses InterSystems Interoperability to transfer or/and transform healthcare data via messages or it uses healthcare format data transformation.
I transfer healthcare data. It did not say I have to use HealthShare formats.
Please try online demo again.
bilder/CaptureSendChatResp.JPG at main · oliverwilms/bilder
shows where I transfer healthcare data inside the Interoperability production
I believe ollama-ai-iris qualifies for Digital Health Interoperability - 4 points
Collect 4 bonus points if your application is a healthcare interoperability solution that uses InterSystems Interoperability to transfer or/and transform healthcare data via messages or it uses healthcare format data transformation.
Also, I have online demo linked in ReadMe
How do we use our pass to register for InterSystems Ready 2025?
I have submitted the form with my video.
I just submitted my new app jupyter-for-money for approval on Open Exchange.
I was able to connect to ollama with this:
Settings.llm = Ollama(
base_url="http://ollama:11434", # tell it to connect to the Ollama container
model="llama3.2",
request_timeout=360.0
)
I see that @Guillaume Rongier has this in a Business Operation:
def on_init(self):
self.model = Ollama(base_url="http://ollama:11434",model="orca-mini")
When I ask "list my csp applications", it runs a while and then it gives a nicely formatted response. Thank you, Yuri!
Hi, Yuri. I cloned your repo again, built images and deployed it in AWS EC2. I went to IRIS Tool Chat and entered this query: list my namespaces
It ran a while and then I got this response: Error performing Intersystems IRIS operation: Unsupported operation: list_namespaces
The correct line is:
url = f"iris://_SYSTEM:SYS@localhost:1972/IRISAPP"
I need to use container internal superserver port 1972.
I think I interpreted data correctly and I am using superserver port.
irisowner@e10968e4da42:/irisdev/app$ python3 test_conn.py
Traceback (most recent call last):
File "/home/irisowner/.local/lib/python3.12/site-packages/intersystems_iris/dbapi/_DBAPI.py", line 50, in connect
return native_connect(
^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/intersystems_iris/_IRISNative.py", line 183, in connect
connection._connect(hostname, port, namespace, username, password, timeout, sharedmemory, logfile, sslcontext, autoCommit, isolationLevel, featureOptions, application_name)
File "/home/irisowner/.local/lib/python3.12/site-packages/intersystems_iris/_IRISConnection.py", line 304, in _connect
raise e
File "/home/irisowner/.local/lib/python3.12/site-packages/intersystems_iris/_IRISConnection.py", line 203, in _connect
self._device.connect(server_address)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/intersystems_iris/_Device.py", line 31, in connect
return self._socket.connect(server_address)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
ConnectionRefusedError: [Errno 111] Connection refused
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 146, in __init__
self._dbapi_connection = engine.raw_connection()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 3298, in raw_connection
return self.pool.connect()
^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 449, in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 1264, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 713, in checkout
rec = pool._do_get()
^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get
with util.safe_reraise():
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get
return self._create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection
return _ConnectionRecord(self)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 675, in __init__
self.__connect()
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 901, in __connect
with util.safe_reraise():
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 897, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/create.py", line 646, in connect
return dialect.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 625, in connect
return self.loaded_dbapi.connect(*cargs, **cparams) # type: ignore[no-any-return] # NOQA: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/intersystems_iris/dbapi/_DBAPI.py", line 58, in connect
raise OperationalError(e)
intersystems_iris.dbapi._DBAPI.OperationalError: [Errno 111] Connection refused
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/irisdev/app/test_conn.py", line 5, in <module>
with engine.connect() as conn:
^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 3274, in connect
return self._connection_cls(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 148, in __init__
Connection._handle_dbapi_exception_noconnection(
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 2439, in _handle_dbapi_exception_noconnection
raise sqlalchemy_exception.with_traceback(exc_info[2]) from e
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 146, in __init__
self._dbapi_connection = engine.raw_connection()
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/base.py", line 3298, in raw_connection
return self.pool.connect()
^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 449, in connect
return _ConnectionFairy._checkout(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 1264, in _checkout
fairy = _ConnectionRecord.checkout(pool)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 713, in checkout
rec = pool._do_get()
^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/impl.py", line 179, in _do_get
with util.safe_reraise():
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/impl.py", line 177, in _do_get
return self._create_connection()
^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 390, in _create_connection
return _ConnectionRecord(self)
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 675, in __init__
self.__connect()
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 901, in __connect
with util.safe_reraise():
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/util/langhelpers.py", line 146, in __exit__
raise exc_value.with_traceback(exc_tb)
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/pool/base.py", line 897, in __connect
self.dbapi_connection = connection = pool._invoke_creator(self)
^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/create.py", line 646, in connect
return dialect.connect(*cargs, **cparams)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/sqlalchemy/engine/default.py", line 625, in connect
return self.loaded_dbapi.connect(*cargs, **cparams) # type: ignore[no-any-return] # NOQA: E501
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/irisowner/.local/lib/python3.12/site-packages/intersystems_iris/dbapi/_DBAPI.py", line 58, in connect
raise OperationalError(e)
sqlalchemy.exc.OperationalError: (intersystems_iris.dbapi._DBAPI.OperationalError) [Errno 111] Connection refused
(Background on this error at: https://sqlalche.me/e/20/e3q8)