OpenCms Stack AIO

OpenCms Stack AIO on CoreOS or Atomic Hosts (on top of OpenStack or anywhere where docker rocks)

Simply boot your CoreOS or Atomic Host machine on OpenStack, or any other OS running anywhere with docker support and run one the following commands and run your OpenCms All-In-One container in less than 30 minutes:

docker run -i -t -h opencms.stack.local -p <ip>:80:80 -p <ip>:443:443 cloudssky/opencms-stack-aio /bin/bash


docker run -dit -p <ip>:80:80 -p <ip>:443:443 cloudssky/opencms-stack-aio:flat /bin/sh

Note: this image has only one layer and is 1GB small, compared to the latest or the fat images which is 2.5 GB big or huge :-), but doesn't start any services after running it, please use "nsenter" as described below.

Where <ip> is the IP of your VM.

Screen shot 2014-04-10 at 23.51.49.png

With the above command you can access the SSL enabled OpenCms Workplace at:
Username: Admin, password: admin.

You can call the Online Responsive Site over HTTP:

Note: You shall provide the following line in your /etc/hosts on your laptop:

sh-3.2# cat /etc/hosts opencms.stack.local
(provide the right IP of your VM host / local host).

Note: OpenCms Workplace works only through httpS, I’m using a self signed certificate, if you get a warning in the browser you might want to trust it.

Update August 18th:

Now after  3 months that CoreOS stable version is released with Docker 1.1.2 version for some reasons if you use /bin/bash/ as the command to start the services and log into the container, you'll see the message tomcat fails, although tomcat is running and the installation works and you can't stop tomcat via service tomcat7 stop (you've to kill -9 the tomcat7 process by hand), so to avoid this, you can run your docker container without /bin/bash:

docker run -d -P -p cloudssky/opencms-stack-aio

and use "nsenter" to login to the instance and run the services properly, to do that you've to find the container pid fron thze container id, so first find the conatiner id:

$ docker ps -a | grep cloudssky/opencms-stack-aio | awk '{print $1; exit}'

Then find the container pid:

docker inspect --format '{{.State.Pid}}' 12fc25ad4fff

Or do it with a single command:

docker inspect --format '{{.State.Pid}}' `docker ps -a | grep cloudssky/opencms-stack-aio | awk '{print $1; exit}'`

And finally drop yourself into the running container and run the services:

# nsenter --target 18795 --mount --uts --ipc --net --pid
* Starting MariaDB database server mysqld
* Checking for corrupt, not cleanly closed and upgrade needing tables.
* Starting Tomcat servlet engine tomcat7
...done. :))))))))))))))))))))))))))))))))))))))))
* Starting web server apache2
apache2: Could not reliably determine the server's fully qualified domain name, using for ServerName
[email protected]:/#exit

And if you exit from the container, all services will remain running and you can do "service tomcat7 restart" or "/etc/init.d/tomcat7 restart" in the conatiner and it works :-)

For more information about the upcoming cloud ready, auto-scalable clustered version (opencms-cluster-stack) with LDAP and SSO Plug-In and Multi-Workplace / Multi-Regions Support, please visit:

Twitter News