Using Imagr with the Casper Suite


Imagr may be the new kid on the Mac imaging block, but for those of us using the Casper Suite it can offer an alternative imaging method with little extra effort.

The post expands upon the above, explaining the niche use cases for Imagr for those of us using the Casper Suite


Imagr’s prerequisites are simply:

  1. Web Server.
  2. NetBoot Server.
  3. NetInstall Set.
  4. HTTP accessible DMG’s & PKG’s.

Web Server

“Imagr gets its workflows from a plist that is accessible over HTTP” This plist can easily be hosted & made accessible on the server hosting the JSS. How, depends on your config.

But no matter what OS you’re hosting your JSS, you should be able to host the Imagr app plist.

NetBoot Server & NetInstall Set

Imagr is a 10.10.X compatible python app that needs to be run as root. So the original planned use case was via a NetInstall created with AutoNBI with the additional needed frameworks aded to the NBI.

However, a NetBoot Image created with AutoCasperNBI will work too, as it boots into the root user & has the needed frameworks included. (NOTE: Casper NetInstall Creator created images will not have the frameworks needed for Imagr).

Another option if a NetBoot Server is not available, is to create a Restorable DMG via AutoCasperNBI.

The latter option actually removes the need for a NetBoot server, & also boots into the root user & has the needed frameworks included.

With either AutoCasperNBI method, generate a PKG of & it’s settings (ideally separately) & install into the image via the “Install Additional Packages” option. Then Imagr can be on your image & ready to use when needed.

HTTP accessible DMG’s & PKG’s

Imagr will happily perform an ASR over HTTP(s), restoring an Image to a Mac over the network.

For us using the Casper suite, we’d need distribution points that have had HTTP/HTTPS downloads enabled but with no authentication set (as the below).

Screen Shot 2015-05-25 at 21.24.05

This means Imagr will not work with JDS distribution points amongst other combinations.

Use Case?

Casper Imaging does a great job of Imaging & subsequently enrolling devices into a JSS. But what if this is a Mac that you wish to just install an OS on, or if you are testing some DEP workflows? By using Casper Imaging you would then need to take some actions post imaging to return the Mac to a clean state.

It’s the above use cases (amongst others) that Imagr can be used for & that I was eluding to at the start of this post. As Imagr can be easily used in place of Casper Imaging to quickly restore an ASR scanned Image created via AutoDMG or Composer.

The How

The Imagr wiki is where you should be heading for more information on how to setup your app config & workflows.

I have included an example & a caveat below:

Example Imagr_config.plist

The below is a very simple Imagr_config.plist with the password of “password” & a single workflow that is just restoring a single AutoDMG OS.dmg:

On launching a copy of that has the server url populated with the correct URL for the above config & then the password entered, you’ll see something like the below:


In this example, once “Run Worklow” is clicked the OS is installed & a few minutes later the Mac will boot to:

Screen Shot 2015-05-12 at 13.30.49

The Mac above has booted into a AutoDMG OS.dmg, & has had no contact with the JSS yet. As stated before this can really be useful for testing things like DEP, or BYOC/BYOD enrolment processes as you know that the source you’re starting from is a clean Mac.

Distribution Points

Imagr has no built-in support for site awareness etc. So if using Imagr across sites, you’ll need to add additional workflows to the Imagr_config.plist which are named appropriately & have all the relevant links points to that sites Distribution Point.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.