Public Repository

Last pushed: 21 hours ago
Short Description
Ginger Docker image
Full Description


This is the Ginger Zotonic edition. This repository contains:

  • (most) Ginger modules
  • Docker configuration
  • shell scripts


Getting started

Clone this repository and install Docker.

Then open a terminal in the Ginger directory and start the containers:

$ make up

To open a Zotonic shell:

$ make shell

To run Gulp in the Ginger

$ make gulp site=your_site_name

For more, see the Docker doc chapter.

Sites overview

  • The Zotonic status site
    is available at http://localhost. Log in with empty
  • Make sure to add the hostnames of individual sites (e.g.
    yoursite.docker.test) to your /etc/hosts file.

Checking out sites

  1. Check out your Zotonic site in the sites/ directory.
  2. Start the site from the status site:
  3. Login and go to the modules page
  4. Deactive site module and activate it again
  5. Now the site should work properly

Adding modules

Place custom modules in modules/ (no symlinks needed).

Fetching changes

$ git fetch
$ git rebase

Making changes

Commit messages

Please follow the Driebit guidelines for commit messages.
Additionally, prefix your message with the module that your change applies to.
For instance:

[admin] Fix login form styling
[foundation] Add carousel template

Bugfixes to the release branch

When you are fixing a bug in the current release branch (as it is published on
ginger-test or ginger-acceptatie):

  1. Fetch changes: $ git fetch.
  2. View branches: $ git branch -a.
  3. Switch to the latest release branch: $ git checkout release-0.1.0.
  4. Make, commit and push your changes.
  5. Optionally, update ginger-test with the your changes to the release branch:
$ ssh
$ cd /srv/zotonic/
$ z git pull
$ z zotonic shell
$ z:m().
  1. Optionally, the release branch to master:
git checkout master
git pull
git merge release-0.#.0 (latest release branch)
git push

Feature developments

When working on (larger) features and fixes that should not be part of the
current release:

  1. Fetch changes: $ git fetch.
  2. Switch to master: $ git checkout master.
  3. Make, commit and push your changes.

Deploying sites

To deploy a site, log in to the proper server (, or

$ ssh
$ cd /srv/zotonic/sites/[site name]

Check the current Git branch, then pull the latest changes:

$ z git pull

Then compile the changes and flush the site:

$ z zotonic shell
$ z:compile(), z:flush([site name]).


Ginger is released under the Apache 2.0 License. See the included LICENSE file
for more information.

Docker Pull Command