How to get and adapt a bundle with Magnolia CLI

With Magnolia CLI v3, the jumpstart command lets you choose the webapp. Jumpstart downloads the Magnolia stand-alone Tomcat and the selected webapp. As a result you end up with a ready-to-use Magnolia Tomcat bundle according to your needs.

You have different approaches to determine which modules go into your bundle. You can:

You can combine these approaches.

Choosing a webapp when you run the jumpstart command

When you run the Magnolia CLI jumpstart command, you are prompted to choose a webapp.

? What Magnolia would you like to install?
1) magnolia-empty-webapp
2) magnolia-community-webapp
3) magnolia-community-demo-webapp
4) magnolia-dx-core-webapp
5) magnolia-dx-core-demo-webapp

When choosing, ask yourself:

  • Do I want the Magnolia Travel demo ? If you do, choose a webapp with demo in its name.

  • Do I have a license? If you don’t have a Magnolia license yet, choose a webapp with`community` in its name. Community editions do not require a license. Alternatively, contact us for a trial.

  • Which edition suits my needs best? Look at the List of modules to see which modules each edition contains.

    • DX Core

    • Community Edition

  • Is an empty webapp the best starting point for my project? If so, choose magnolia-empty-webapp.

You can customize the list of webapps available to choose from by editing the availableWebapps section of the Magnolia CLI mgnl-cli.json file.

Adding additional modules

Adding additional modules using mgnl-cli.json downloadJars

This approach requires you edit the Magnolia CLI`mgnl-cli.json` configuration file. The mgnl-cli.json provides a hook to add more modules on top of the webapp you chose. Modules may be added to any webapp available when running the jumpstart command.

We strongly recommend you create a local copy of the json file to edit. To do so, use the customize-local-config command to create a custom configuration and make sure you have a complete configuration which includes both the mgnl-cli.json and the prototypes folder.

You must adapt the mgnl-cli.json file before running jumpstart. Add the module(s) you want to add to the section downloadJars of the mgnl-cli.json file.

When you run the jumpstart command, you must also make sure the custom configuration you want to use is in the folder where you run the command or in an ancestor folder.

In the default version of the file, the downloadJars section is empty:

"downloadJars": {}

Add as many modules you need, separating entries with a comma:

"downloadJars": {
  "arbitrary-name-1" : "URL-to-artifact-1",
  "arbitrary-name-2" : "URL-to-artifact-2"


In this example, we add the magnolia-app-tutorial content app.

   "downloadJars": {
        "magnolia-app-tutorial" : ""

Adding modules manually into the WEB-INF/lib directory

If you add modules manually, you do not need to change the mgnl-cli.json file. We recommend you use this approach to adapt modules that you have built locally or that are not available on repositories.

This approach is also useful when you want to change the version of modules that are already part of the webapp.

Example: Adding the DAM app to the Magnolia Empty Webapp 6.2

In this example, you add the DAM app to the magnolia-empty-webapp, the most basic Magnolia webapp.

  1. Run the Magnolia CLI jumpstart command:

    mgnl jumpstart -m 6.2
  2. Choose magnolia-empty-webapp. Do not run the CLI start command yet.

  3. Download these jars:

  4. Open the following directory created by the jumpstart command: apache-tomcat/webapps/magnoliaAuthor/WEB-INF/lib.

  5. Place the downloaded files into the directory.

  6. Start Magnolia:

    mgnl start