Headless install or Lucee Docker container for Windows?

Hello all,

I noticed that a Docker container for running Lucee on Linux is available. How about running Lucee on Windows Docker-in-Docker Containers?

I’m currently working with Windows containers and attempting to install Lucee. Running the exe installer directly from a Windows Server Core distribution does absolutely nothing. I was hoping there was a silent / headless installer available for the software but this doesn’t seem to be the case.

Crawling the internet for other options, I discovered the following scripts in the Lucee docs:

Has anyone got any additions to this script? This is a pretty common request so somebody must have come up with a solution before? If not then I’m going to attempt to make a Docker image available for Windows. Thanks!

if you run the installer from the command line with —help, it will show you a dialog with the command line options to help you out

lucee-5.3.2.077-pl0-windows-installer --help

Lucee 5.3.2.077-pl0
Usage:

 --help                                      Display the list of valid options

 --version                                   Display product information

 --unattendedmodeui <unattendedmodeui>       Unattended Mode UI
                                             Default: none
                                             Allowed: none minimal minimalWithDialogs

 --optionfile <optionfile>                   Installation option file
                                             Default: 

 --debuglevel <debuglevel>                   Debug information level of verbosity
                                             Default: 2
                                             Allowed: 0 1 2 3 4

 --mode <mode>                               Installation mode
                                             Default: win32
                                             Allowed: win32 unattended

 --debugtrace <debugtrace>                   Debug filename
                                             Default: 

 --installer-language <installer-language>   Language selection
                                             Default: en
                                             Allowed: en

 --prefix <prefix>                           Installation Directory
                                             Default: ***unknown variable my_prefix***

 --luceepass <luceepass>                     Lucee Password
                                             Default: 

 --minheap <minheap>                         Minimum (mb)
                                             Default: ***infinite recursion in variable minheap***

 --maxheap <maxheap>                         Maximum (mb)
                                             Default: ***infinite recursion in variable maxheap***

 --systemuser <systemuser>                   
                                             Default: root

 --tomcatport <tomcatport>                   Tomcat Web Server Port:
                                             Default: ***infinite recursion in variable tomcatport***

 --tomcatshutdownport <tomcatshutdownport>   Tomcat Shutdown Port:
                                             Default: ***infinite recursion in variable tomcatshutdownport***

 --tomcatajpport <tomcatajpport>             Tomcat AJP Port:
                                             Default: ***infinite recursion in variable tomcatajpport***

 --startatboot <startatboot>                 Yes, Start Lucee at Boot Time
                                             Default: yes

 --installiis <installiis>                   Install the IIS Connector?
                                             Default: yes

 --installconn <installconn>                 Yes, Install Apache Connector
                                             Default: true

 --installmodcfml <installmodcfml>           Yes, Install mod_cfml
                                             Default: yes

 --apachecontrolloc <apachecontrolloc>       Apache Control Script Location
                                             Default: ***infinite recursion in variable apachecontrolloc***

 --apachemodulesloc <apachemodulesloc>       Apache Modules Directory
                                             Default: ***infinite recursion in variable apachemodulesloc***

 --apacheconfigloc <apacheconfigloc>         Apache Configuration File
                                             Default: ***infinite recursion in variable apacheconfigloc***

 --apachelogloc <apachelogloc>               Apache Logs Directory
                                             Default: ***infinite recursion in variable apachelogloc***

 --bittype <bittype>                         params.bitTypeDesc
                                             Default: ***infinite recursion in variable bittype***
                                             Allowed: 32 64

Thanks for the reply :slight_smile:

I tried running the command with the --help flag, and several others but none of the commands appear to do anything.

PS C:\> .\lucee-installer.exe --version
PS C:\> .\lucee-installer.exe --help
PS C:\> .\lucee-installer.exe --unattendedmodeui
PS C:\> .\lucee-installer.exe --mode unattended

Which OS version did you test on?

I’ve used the installer on Windows Server 2019, not sure which edition.

Did you get a UAC prompt, is there an installer.log file being written?

@Jordan_Michaels maintains the installer, I’m sure he’ll chime in with some help

I’m running under a Docker container so there is no GUI / UAC prompt. The Docker host is Windows Server 2016. I didn’t see an installer.log file but I will check after the weekend.

Sounds good. Thanks both.

Hi Joel,

If the installer isn’t responding to the --help command then there is something more going on that is not the fault of the installer. I would check the md5sum on the installer with a known-working version to make sure that the copy didn’t get corrupted at some point. In the past, there was one time where I worked with a guy for several days trying to figure out what the heck was going on with his environment, but turned out his installer didn’t download correctly because the md5sum’s didn’t match. Once he re-downloaded the installer everything worked fine!

The --help command is one of the most basic commands the installer responds to, if it doesn’t respond to that, then there is more going on. Can you run any other installer/executable on the system? Does the installer have enough memory to function?

2 Likes

You must run command prompt as Administrator. This should solve your issue.

1 Like

I have a feeling you were right about the md5sum. I have renamed the .exe file and everything seems to be working correctly now!

--mode unattended ftw :smiley:

I’m still in the process of creating a Dockerfile based on Windows Server Core Containers but I will share it when done if anyone is interested?

Thanks guys and gals!

1 Like

It is true that the installer needs admin rights in order to run, however, it should prompt you if it doesn’t have the rights it needs. At least, that is what it SHOULD do. :wink:

Glad you got it working Joel!

[quote=“joel.murphy.nhs”]
I’m still in the process of creating a Dockerfile based on Windows Server Core Containers but I will share it when done if anyone is interested?[/quote]

Hi Joel, did you make progress on this? I searched docker hub for Windows Lucee images but did not find anything useful (only 1, and it was years old).

I am having the same issue you were when trying to make my own - the installer just exits. I did rename it back to the original name (lucee-5.3.6.061-pl0-windows-installer.exe) and that did not help.

Thanks.

Is that possibility due to smartscreen?

I don’t know, I would be surprised if the windows server core docker image had SmartScreen enabled. As far as I know you can’t boot into a Gui with that. So their instructions for disabling it wouldn’t make sense on the docker image.

Here is my dockerfile:

FROM mcr.microsoft.com/windows/servercore:1809

COPY lucee-5.3.6.061-pl0-windows-installer.exe /lucee-installer.exe

Then I open a command prompt into the container and run the installer.

C:\>dir
 Volume in drive C has no label.
 Volume Serial Number is DAC2-4722

 Directory of C:\

09/04/2020  09:43 PM    <DIR>          inetpub
05/06/2020  11:48 PM             5,510 License.txt
09/04/2020  09:33 PM       183,264,067 lucee-5.3.6.061-pl0-windows-installer.exe
08/06/2020  11:55 AM    <DIR>          Program Files
08/06/2020  11:53 AM    <DIR>          Program Files (x86)
08/06/2020  11:56 AM    <DIR>          Users
09/04/2020  09:52 PM    <DIR>          Windows
               2 File(s)    183,269,577 bytes
               5 Dir(s)  21,157,036,032 bytes free

C:\>lucee-5.3.6.061-pl0-windows-installer.exe --help

C:\>

Not shown is the step where I manually renamed the exe back to it’s original name to see if that made any difference.

Also I had no issues with SmartScreen when I used this same installer on several windows machines a few weeks ago.

Instead of Running this off DRIVEROOT, which you have to disable UAC as well as a few other computer security polices try running this in a folder off DRIVEROOT, ie C:\lucee_installer, it will work