Docker Images for Cyrus IMAP
============================

NOTE: The image will build against master by default.

Build it:

  $ docker build -t cyrus-imapd-3.0.santiago - < santiago

Run it:

  $ docker run -t -i cyrus-imapd-3.0.santiago

Apply a differential to the build:

  $ docker run -e "DIFFERENTIAL=9" -t -i cyrus-imapd-3.0.santiago

IMPORTANT: Only use the **number**

Check out a specific commit:

  $ docker run -e "COMMIT=<id>" -t -i cyrus-imapd-3.0.santiago

Do both:

  $ docker run -e "DIFFERENTIAL=9" -e "COMMIT=<id>" \
        -t -i cyrus-imapd-3.0.santiago

This could be:

  $ docker run -e "COMMIT=cyrus-imapd-2.5" \
        -t -i cyrus-imapd-3.0.santiago

And could be run interactively:

  $ docker run -e "COMMIT=cyrus-imapd-2.5" \
        -t -i --entrypoint="/bin/bash" cyrus-imapd-3.0.santiago -s

Or, why even do them one by one?

  $ make all run

Phabricator Integration
=======================

Your Phabricator certificate:

  https://git.cyrus.foundation/settings/panel/conduit/

If you remember your Phabricator username:

  $ docker run -e "PHAB_CERT=abcdef" -e "PHAB_USER=kangaroo" \
    -t -i --entrypoint="/bin/bash" cyrus-imapd-3.0.santiago -s

This will give you `arc` in the container.

Why so exotic?
==============

IMPORTANT:  A directory structure would have meant needing to copy off
            `entrypoint.sh` multiple times as **Docker** will not take a
            symbolic link.