Question
Steve Riddle · Oct 9, 2020

Apache and Containerised IRIS

Hi All,

I'm being asked if I can set up a AWS EC2 containerised version of IRIS and a separate AWS EC2 installation of Apache to serve IRIS web files.

Creating the Apache EC2 and containerised IRIS EC2 is the simple bit but getting them both to talk to each other does not seem quite so simple and I cannot find any documentation to describe how this can be achieved.

Has anyone else managed to achieve this?

 

00
0 7 95 4

Replies

Having separate Apache it's not something unordinary, and in fact, is just a recommended way for web-based applications.

And Apache in docker or not have no difference. The configuration will be exactly the same.

You can look at my example I made some time ago. It uses docker-compose, but the key feature, that it should use the same network, which creates by default in docker-compose configuration for the services in the same project. So, you just have to prepare apache with webgateway, and properly configured. Or like in my case, webgateway can be configured by environment variables, so, the same image can be used multiple times with different IRIS servers.

Hi Dmitriy,

Thanks for this link and the work that you have performed on it. Are there any installation instructions that go with this code and set of commands as I'm confused as to what order to add/process each file and on which server to apply which files.

Apologies if I'm missing something here.

Instructions of what? If saying just about Apache+webgateway.

The repo I've provided is quite complete. With some basic knowledge of docker.

So, you just have to build the docker image, publish it to some docker registry, public or private and deploy it with AWS

Deploying just IRIS itself as a container does not make so much sense at all. As it needs to be packed with some application it should run. Containerized IRIS it's not the same as IRIS running on a virtual machine, it's very different, and not so easy to explain it in a simple way.

For instance, you can look at this article, about deploying some web-based IRIS application on Amazon

I would recommend, to contact me through info@caretdev.com, so, we could schedule a discussion, where you could give more details, and I will say the ways how it can be solved. 

At the same time, I would not recommend spending time on official webgateway docker image, as it made to be too specific for ICM and/or Durable %SYS. And at the same time, needs some magic to get it working. e.g. apache will not start without specifically saying so. And even if it started, it does not mean, that it will be started with the CSP module enabled.

Hi Steve,

I don't have a lot of experience with this but I have heard of a Web Gateway container that includes Apache.

"The webgateway image available from InterSystems, which includes both the Web Gateway and an Apache web server, provides a web server component for containerized deployments of InterSystems IRIS-based applications. Automated deployment of the Web Gateway container can be effected by using manual procedures to develop a CSP.ini file containing the desired Web Gateway configuration, as well as apache2.load and apache2.conf files specifying the desired Apache web server modules and configuration, and placing them in their expected locations in the Web Gateway container (/opt/webgateway/bin/ and /etc/apache2/mods-available/, respectively) as part of the deployment process. The durable %SYS feature and the Web Gateway’s entrypoint application /cspEntryPoint.sh provide a simple way to do this, as the script automatically links these files (plus the CSP.log log file) to the corresponding files on the specified durable %SYS volume."

Steve, Vic is correct that there is a webgateway container.  It's primarily used with ICM, which handles configuration for you.  If you are not using ICM, it may be best to contact the WRC if you need assistance.

Erik

Thanks Vic and Eric,

I think I will call support tomorrow if I cant work out Dmitriy's solution.