Liferay image

There is no doubt about Liferay being one of the best platforms for portal development out there, but how complicated is it?

Whenever we go through any installation guide we get some mixed feelings about the trade-offs involved: simplicity, security, organization… That is why we bring to you a beautifully organized image, ready to go!

  • Debian based image
  • Companion images to help you go – Elasticsearch and LibreOffice
  • Secure and up-to-date

Let us worry about your container, so you can focus on building your systems.

Images

Examples

Docker Compose project examples at:


Certified image

  • By using the certified copy of these images will make sure your containers have been thoroughly evaluated by E-SYSTEMS TECH and passed some time in production environments. The content is reviewed and evaluated by Docker to assure quality and compatibility with EE, while being subject of Docker's security scans.
  • Using the certified version of this repository will help us keep the good work going, maintaining this version free and increasing quality in both products. It is just a symbolic fee to show your support.
  • Support for Liferay community edition (Liferay CE) installation and image issues is only granted to users of the certified version.
  • Joined support, from Docker, Inc and E-SYSTEMS TECH, LLC is only available for Docker EE users with a certified Liferay community edition subscription.
  • Support via WhatsApp: only for subscribers, you can create tickets via WhatsApp Business and SMS.
If we host your Liferay system, you do not need to acquire a license through Docker store, this image will base your installation.

Debian based image

Do you wish to use a Debian native Tomcat, leveraging its security patches and firm stability?

Well, this image will give you that!

We based our image on Linux practices to offer the most from the open source ecosphere, and a frequently updated Tomcat could not be left out.

Through a proprietary production pipeline, Liferay is extracted from its original bundle and organized into a Debian based image, so you can get a frequently updated image: being patched when Debian is and offering you the best and most current software.

This process has two main goals: bring the power of the package management system to our products along with a unique simplicity for configuration processes.


Fully installed and ready to go

The images ship with all the dependencies ready for most Liferay deployments, which normally need extra libraries to work properly. Common scenarios include: IP database for geolocation, image manipulation, Xuggler for videos, fonts ...

Examples include:

  • Ghostscript from Debian's package management system 
  • ImageMagick from Debian's package management system 
  • Xuggler

Companion images

Full Liferay installation with a single compose file!

To make your installation even easier, we built companion images that are just waiting to be plugged. These images are not just additional software that works with Liferay, but the production process make them a nice combo, including layer reuse to keep the set small. They are entirely optional though.

  1. esystemstech/libreoffice
  2. esystemstech/elasticsearch
  • To take advantage of the layer reuse feature (minimizing the size of the full set), please make sure all of your tags match the Liferay version you want to use.
  • These images are meant to work together to include extra capabilities, such as an extremely fast document conversion speed, do not use them as is for other purposes.
  • Using these images as in the examples will create a sub-network for your containers while only Liferay will be exposed, port 8080 to the host and network/Internet.

Secure and up-to-date

To keep you safe, we built an entirely automated pipeline that brings frequent updates to you, straight from Debian package management system. The only work you need to do is simply bring your compose up again with a fresh image.


A compose is worth a thousand words

  • Compose project examples at: https://gitlab.com/E-SYSTEMS/public/docker-examples/liferay
  • The certified variations use -cc as suffix (for certified container), so 7.1.1-ga2 becomes 7.1.1-ga2-cc if available.
  • Tip: environment variables can be configured in separated files, this will help keeping your compose file clean.

version: '3.6'

services:
        liferay:
                image: store/esystemstech/liferay-cc:7.1.1-ga2-cc
                container_name: liferay
                restart: always
                environment:
                        - "DB_HOST=mysql"
                        - "DB_SCHEMA=lportal"
                        - "DB_USER="
                        - "DB_PASSWORD="
                        - "ELASTICSEARCH_CLUSTER_NAME=docker-cluster"
                        - "ELASTICSEARCH_HOST=elasticsearch"
                        - "ELASTICSEARCH_PORT=9300"
                        - "LIBREOFFICE_ENABLED=true"
                        - "LIBREOFFICE_CACHE=true"
                        - "LIBREOFFICE_HOST=libreoffice"
                        - "LIBREOFFICE_PORT=8100"
                ports:
                        - 8080:8080
                networks:
                        - external
                        - services-only
                volumes:
                        - liferay-data:/opt/liferay/home/data
                        - liferay-logs:/var/log/tomcat8
                        - liferay-conversions:/var/lib/tomcat8/temp/liferay/document_conversion
                tmpfs:
                        - /var/lib/tomcat8/temp/liferay:uid=7002,gid=7006,mode=1770
                depends_on:
                        - mysql
                        - elasticsearch
                        - libreoffice

        elasticsearch:
                image: esystemstech/elasticsearch:liferay-7.1.1-ga2-cc
                container_name: elasticsearch
                restart: always
                networks:
                        - services-only
                volumes:
                        - elasticsearch-data:/usr/share/elasticsearch/data
                ulimits:
                        nofile:
                                soft: 65536
                                hard: 65536
                expose:
                        - 9200
                        - 9300
        libreoffice:
                image: esystemstech/libreoffice:liferay-7.1.1-ga2-cc
                container_name: libreoffice
                restart: always
                networks:
                        - services-only
                expose:
                        - 8100
                volumes:
                        - liferay-conversions:/var/lib/tomcat8/temp/liferay/document_conversion

       mysql:
                image: mysql:5.7
                container_name: mysql
                restart: always
                command: ["mysqld", "--character-set-server=utf8", "--collation-server=utf8_general_ci", "--default-time-zone=+00:00","--explicit_defaults_for_timestamp"]
                networks:
                        - services-only
                expose:
                       - 3306
                environment:
                        - "MYSQL_ROOT_PASSWORD="
                        - "MYSQL_DATABASE=lportal"
                        - "MYSQL_USER=lradmin"
                        - "MYSQL_PASSWORD="
                volumes:
                        - mysql-data:/var/lib/mysql
volumes:
       mysql-data:
       liferay-data:
       liferay-logs:
       elasticsearch-data:
       liferay-conversions:
                driver_opts:
                       type: tmpfs
                       device: tmpfs
                       o: uid=7002,gid=7005,mode=2770

networks:
    services-only:
        internal: true
    external:
        internal: false

Help pages


  • Java is a registered trademark of Oracle and/or its affiliates.
  • Liferay is a registered trademark of Liferay inc and/or its affiliates.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Tags
liferay docker

Child Articles (12)

  • Installing Liferay

    Installing Liferay Portal As with most Docker images, our Liferay images come with most of the installation process reduced to two steps: Download the image...

  • Configuring containers

    If you used Liferay before, you know about its configuration files and all the options that can be set through its properties. In our image, we centralized the most relevant configuration files in...

  • Environment variables

    Our image supports several types of environmental variables that can help you control the container's behaviour in several levels, from the JVM and Tomcat up to Liferay itself. With regards to the...

  • Image Upgrade

    Upgrading Liferay instances was always a simple procedure, until new developments that removed support for automated upgrades being performed when you switch your Liferay core. We are now required...

  • Liferay behind a reverse proxy

    Frequently enough we hear about people feeling uncomfortable with a Tomcat exposed port being directly accessible from the web, which leads to the usual reverse proxy configuration. This short...

  • Using your docker image inside a Liferay workspace

    Fast track Considering the usual location for bundles (./bundles/deploy): Create the deploy directory Set its permissions to give Tomcat access Write your compose file Bring it up! From your...

  • Sending e-mails

    Sending emails from a Liferay instance was always a straight-forward process, you just need a mail server to start following some Liferay mail configuration guide. Although this option does exist...

  • Ordering a custom image

    Ordering a custom image is extremely simple, you just need a list of components you want to add or remove from your base image. It does not matter if you have a basic license or a developer one,...

  • Using JSON 

    Our images ship with an extra library you can use to make JSON usage extremely simple. Of course, you can still use Liferay's own classes and packages, but as we will show, when you use our library...

  • Properties differences

    browser.cache.disabled and browser.cache.signed.in.disabled Since Liferay 7.1, the properties that control browser caching had their default values changed in order to disable it. This change was...

  • FAQ

    Why not /etc/liferay? We do our best to keep good practices and standards a constant in our products, and that is simply why we cannot use that directory. Our images are based on Debian, which is a...

  • Installing docker-compose

    Installing from GitHub It is quite frustrating to find out that the one feature you are after is not available on your distribution’s current package management system. Docker packages on Ubuntu,...

Quick Access