{"id":21347055,"url":"https://github.com/yann39/jahia-docker","last_synced_at":"2025-07-12T17:31:32.414Z","repository":{"id":220950887,"uuid":"127297571","full_name":"Yann39/jahia-docker","owner":"Yann39","description":"Docker version of Jahia CMS installations","archived":false,"fork":false,"pushed_at":"2024-03-08T19:03:59.000Z","size":13495,"stargazers_count":2,"open_issues_count":0,"forks_count":2,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-07-02T12:19:31.561Z","etag":null,"topics":["docker","docker-compose","expect","jahia"],"latest_commit_sha":null,"homepage":"","language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Yann39.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-03-29T13:43:54.000Z","updated_at":"2024-02-24T17:10:20.000Z","dependencies_parsed_at":"2024-03-08T20:27:03.230Z","dependency_job_id":"00cc752d-c84e-46a5-99e9-6cc63b32753f","html_url":"https://github.com/Yann39/jahia-docker","commit_stats":null,"previous_names":["yann39/jahia-docker"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/Yann39/jahia-docker","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yann39%2Fjahia-docker","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yann39%2Fjahia-docker/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yann39%2Fjahia-docker/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yann39%2Fjahia-docker/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Yann39","download_url":"https://codeload.github.com/Yann39/jahia-docker/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Yann39%2Fjahia-docker/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265025402,"owners_count":23699738,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["docker","docker-compose","expect","jahia"],"created_at":"2024-11-22T02:12:29.962Z","updated_at":"2025-07-12T17:31:30.690Z","avatar_url":"https://github.com/Yann39.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Jahia Docker\n\n**Docker** version of **Jahia CMS** installations.\n\n![Static Badge](https://img.shields.io/badge/Version-1.0.0-2AAB92)\n![Static Badge](https://img.shields.io/badge/Last%20update-29%20Mar%202018-blue)\n\n---\n\n# Table of Contents\n\n* [About the project](#about-the-project)\n* [Technical details](#technical-details)\n* [Instructions](#instructions)\n   * [Windows](#windows)\n   * [Mac/Linux](#maclinux)\n* [License](#license)\n\n# About the project\n\n\u003ctable\u003e\n  \u003ctr\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"doc/logo-docker.svg\" alt=\"Docker logo\" height=\"78\"/\u003e\n    \u003c/td\u003e\n    \u003ctd\u003e\n      \u003cimg src=\"doc/logo-jahia-2016.png\" alt=\"Jahia logo\" height=\"120\"/\u003e\n    \u003c/td\u003e\n  \u003c/tr\u003e\n\u003c/table\u003e\n\nThe purpose of this project is to provide some \"ready to use\" Jahia installations using Docker.\n\nIt currently provides the following versions :\n - Digital Experience Manager Enterprise Distribution **7.1.2.1**\n - Digital Experience Manager Enterprise Distribution **7.2.2.0**\n\n# Technical details\n\nThis project requires :\n - :whale: Docker (minimum version 17)\n - :whale2: Docker compose 3.5\n\nNew Jahia image will be based on the following official images from **Docker Hub** :\n - [Centos 6](https://hub.docker.com/_/centos/)\n - [MySQL 5.6](https://hub.docker.com/_/mysql/)\n\nWhen running the _docker-compose_ file, it will create 2 images :\n - `jahia-x.x.x.x_mysql` : MySQL image (pulled from Docker Hub)\n - `jahia-x.x.x.x_tomcat` : Jahia Tomcat image (created from the related Dockerfile)\n\nThe MySQL image is simply pulled from Docker Hub if it does not exist. We add an alternative _my.cnf_ file on start\nbecause Jahia requires a higher `max_allowed_packet`. If not set, an error is thrown during the installation : \n\n \u003e Value for max_allowed_packet is not enough, should be at least 100M\n\nThe Jahia image is created from its **Dockerfile**, it just prepares the server for the Jahia installation, it will\n**not** be installed at build time!\n\nIndeed, installation process requires the MySQL database to be up, so the installation cannot be done on image build but\nhas to be done on container run. Therefore, a test is done on container start to check if Jahia is already installed,\nand install it only if needed.\n\n3 Shell scripts are executed when running this container from the compose file, in the following order :\n 1. `wait.sh` : wait for MySQL to be up\n 2. `install.sh` : launch Jahia installation\n 3. `start.sh` : start Jahia\n\nThe Jahia installation process is automated using an automatic installation script (**IzPack** XML file), it is passed\nas argument in the compose file (that file can be generated by running a fake Jahia installation on another machine\nusing the GUI, then click \"_Generate an automatic installation script_\" at the end of the installation process).\n\n:information_source: It is also possible to use the [Expect](https://core.tcl.tk/expect/index) library to automate user\ninput. I used it on first try and kept the _.exp_ file just in case... To use it just add the required dependency\n(`expect.x86_64`) in the Jahia Dockerfile, adjust the `CONF_FILE` parameter in the docker-compose file and run\n`expect /tmp/configuration.exp` in the _install.sh_ script instead of directly executing the JAR file).\n\nModules from the _modules_ folder will automatically be deployed.\n\nTomcat is executed with **JPDA** support, so it can be directly debugged from your local IDE.\n\nFinally, you should end up with 2 running containers :\n  - `jahia-x.x.x.x_mysql` : MySQL container listening on port **3306** (exposed as 3306)\n  - `jahia-x.x.x.x_tomcat` : Jahia container with Tomcat listening on port **8080** (exposed as 8080)\n\n# Instructions\n\n## Windows\n\n1. Get the project\n\n    `git clone git@github.com:Yann39/jahia-docker.git C:\\Git\\jahia-docker`\n\n2. Modify the **docker-compose** file (_docker-compose.yml_) to match the version of Jahia you want to run\n3. Adjust settings in the corresponding installation file (passwords, e-mail addresses, etc.)\n4. Start your Docker engine\n5. Open a **PowerShell** command prompt\n6. Navigate to the project root directory\n\n    `cd C:\\Git\\jahia-docker`\n\n7. Run compose up\n\n    `docker-compose up`\n\n8. Open a browser and reach http://localhost:8080/site (in case of 'site' context installation)\n\n:warning: Once the images exist, if you change a configuration then you will have to rebuild the images using `docker-compose build`\n(you can also use `docker-compose down` to remove old containers) before running again `docker-compose up`.\n\n## Mac/Linux\n\nAlmost the same as Windows.\nDo not forget to change the volumes path in the _docker-compose_ file.\n\n# License\n\nRefer to the [Jahia](https://www.jahia.com) license. Else, the GPL v3 applies.\n\n[General Public License (GPL) v3](https://www.gnu.org/licenses/gpl-3.0.en.html)\n\nThis program is free software: you can redistribute it and/or modify it under the terms of the GNU\nGeneral Public License as published by the Free Software Foundation, either version 3 of the\nLicense, or (at your option) any later version.\n\nThis program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without\neven the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU\nGeneral Public License for more details.\n\nYou should have received a copy of the GNU General Public License along with this program. If not,\nsee \u003chttp://www.gnu.org/licenses/\u003e.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyann39%2Fjahia-docker","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fyann39%2Fjahia-docker","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fyann39%2Fjahia-docker/lists"}