go to post Matthieu Laurent · Dec 9, 2021 Hello Marcus, Thank you for sharing. I'm building a dockerised DEV environnement. The main issue I am encountering at this moment is the modification from the portal of Business Process or Transform for exemple. I have to export manually my new processes. If I forget it, I just lose it ... I try to install and configure GIT directly on my image. The aim is to link my local repo to the container. I don't want GIT at all. This way, I will have a automatical export. But, it is quite difficult to use in command line. I always have to perform an INIT when I start my container. I tried to perform an init from my DockerFile (do ##class(SourceControl.Git.Utils).UserAction("","%SourceMenu,Init")) but it does not work. Do you have a clean way to install and configure GIT from a DockerFile ? Thanks Regards, Matthieu. My iris start in my DockerFile : RUN iris start IRIS \ && iris session IRIS -U %SYS < /tmp/iris.script \ && iris stop IRIS quietly my iris.script : //On installe ZPM set $namespace="%SYS", name="DefaultSSL" do:'##class(Security.SSLConfigs).Exists(name) ##class(Security.SSLConfigs).Create(name) set url="https://pm.community.intersystems.com/packages/zpm/latest/installer" Do ##class(%Net.URLParser).Parse(url,.comp) set ht = ##class(%Net.HttpRequest).%New(), ht.Server = comp("host"), ht.Port = 443, ht.Https=1, ht.SSLConfiguration=name, st=ht.Get(comp("path")) quit:'st $System.Status.GetErrorText(st) set xml=##class(%File).TempFilename("xml"), tFile = ##class(%Stream.FileBinary).%New(), tFile.Filename = xml do tFile.CopyFromAndSave(ht.HttpResponse.Data) do ht.%Close(), $system.OBJ.Load(xml,"ck") do ##class(%File).Delete(xml) do ##class(%SYSTEM.Process).CurrentDirectory("/opt/irisapp") //On charge les installer et les deployer do $SYSTEM.OBJ.Load("InstallerLibrary.cls", "ck") //On installe les namespaces set sc = ##class(App.InstallerLibrary).setup() // Je ne sais pas pourquoi mais je dois redéfinir le dossier de travail do ##class(%SYSTEM.Process).CurrentDirectory("/opt/irisapp") //On importe les default settings + le plugin GIT (SURTOUT LAISSER LES PASSAGES A LA LIGNE) zn "LIBRARY" zpm "install git-source-control" d ##class(SourceControl.Git.API).Configure() /irisdev/app/LIBRARY/ // Pour éviter de devoir modifier le mdp SuperUser. zn "%SYS" w ##class(Security.Users).UnExpireUserPasswords("*") // Pour faire fonctionner le plugin Git, il faut que le path défini existe, par défaut il est à chaine vide et cela fait planter le plugin. En l'enlevant cela fonctionne k ^SYS("SourceControl","Git","%gitBinPath") zn "LIBRARY" do ##class(SourceControl.Git.Utils).UserAction("","%SourceMenu,Init") halt