Liferay image - Docker Images
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.
- esystemstech/liferay (release for subscribers) https://store.docker.com/images/esystemstech
- esystemstech/liferay (free release) https://hub.docker.com/r/esystemstech/liferay
Docker Compose project examples at:
- 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.
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 ...
- Ghostscript from Debian's package management system
- ImageMagick from Debian's package management system
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.
- 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
- Liferay - development reference
- Liferay - user guide
- Liferay - properties
- Docker - Docker Compose
- You can find extra help inside your container, just check the doc folder for examples and notes
- Licenses with support are restricted to installation procedures and packing related issues
- 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.
LPS-107983 April 9, 20
Searching by custom field values July 3, 19
Environment variables July 2, 19
Overriding A Module’s Language Keys April 4, 19
Liferay projects for front-end developers March 27, 19
Customizing portal-log4j.xml February 15, 19
Editor Configuration Contributor February 11, 19
Installing docker-compose January 16, 19
FAQ January 9, 19
How can you create MVC URLs? January 8, 19
Docker Images 36963 Views
Installing Liferay on Linux 10548 Views
Custom Post Login Action "Hook" in Liferay 7 8225 Views
Session events 8204 Views
Liferay with new MySQL 6.+ JDBC 7380 Views
Compiling Liferay from GitHub 7301 Views
Substituting Liferay implementations 7234 Views
Liferay behind a reverse proxy 6047 Views
Child Articles (12)
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...
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...
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...
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...
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...
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 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 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,...
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...
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...
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 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,...