Deploying a Custom Starter Site

Last Updated: Mar 2, 2022
documentation for the dotCMS Content Management System
Deprecated

The dotCMS distribution comes with a “pre-built” starter site which includes a complete sample site demonstrating the capabilities of dotCMS and providing samples of almost all content types and assets (including Folders, Pages, Content Types, Templates, Containers, code, and more).

This starter site data is contained in the starter.zip file. This file can be found in the webapps/ROOT directory in the dotCMS distribution (_/dotserver/tomcat-X.x.xx/webapps/ROOT_). When dotCMS is started, it checks to see if a working site has already been set up; if the database and assets are empty, dotCMS will import any data found in the starter.zip file.

Starting with a empty site

If you want to start building in dotCMS from a blank slate, you can download our “empty starter”. The canoncal versions of these empty starters can be found in our artifactory repo, here: dotCMS Starters.

Creating a Custom Starter Site

You may replace the default dotCMS starter site with a custom starter site. This enables you to quickly deploy custom starter sites/accelerators on a new dotCMS instance with a specific set of customized pre-built features, content types, assets, etc.

Creating a Custom starter.zip File

Astarter.zip file can be created using the built-in Export dotCMS Content function in dotCMS.

To create a custom starter.zip file:

  1. Build up a normal dotCMS instance containing all the content to include in the custom starter site.
    • Note: All content included in this dotCMS instance will be included in the custom starter site, including all sites, content types, content, etc. Make sure that this dotCMS instance only includes content that you want to include in your starter site.
  2. From the backend of your dotCMS instance, select System -> Maintenance and click the Tools tab.
  3. In the Export dotCMS Content section of the Tools tab, press the Download Data/Assets button.
    • This will download a ZIP file containing all content on the dotCMS instance.
  4. Place the newly built starter .zip file somewhere where your dotCMS instances can get it,.

Deploying a Custom Starter Site

A new dotCMS docker instance accepts the variable CUSTOM_STARTER_URL when starting up. dotCMS will download the .zip file and use it to populate an fresh, empty database.

"CUSTOM_STARTER_URL": "https://repo.dotcms.com/artifactory/libs-release-local/com/dotcms/xxxxxxxxxx.zip"

You can see this in action in our demo docker-compose scripts:

https://github.com/dotCMS/core/blob/master/docker/docker-compose-examples/single-node-demo-site/docker-compose.yml#L38

Note:

  • It is important that you perform all the above steps before starting your dotCMS instance the first time.

    • If you start the dotCMS instance before deploying your starter site plugin, the default dotCMS starter site will be installed; if you later start dotCMS after deploying your plugin, your custom starter site will not be installed, since an existing site (the default starter site) will already exist.
  • The dotCMS Demo Site is built using the default starter site.

    • This means that even if you have not installed the default starter site on your local dotCMS distribution, you can view and copy contents from the default starter site by browsing the back-end of the dotCMS demo site.
    • The dotCMS demo site is rebuilt (and all changes are wiped out) at 12pm and 12am EST every day, to restore the demo site to the default configuration.
  • The default starter site login credentials (both when installed locally or on the dotCMS Demo Site) are:

    • Login: admin@dotcms.com
    • Password: admin

On this page