Public | Automated Build

Last pushed: a year ago
Short Description
A fork of macadmins/docker-munki and groob/docker-munki with Basic HTTP Authentication added.
Full Description


A container that serves static files at http://munki/repo using nginx, with Basic HTTP Authentication. There is no SSL support at this time, so bear in mind that the credentials will be sent in plain text.

This container forked from groob/docker-munki.

nginx expects the munki repo content to be located at /munki_repo. Use a data container and the --volumes-from option to add files.

.htaccess and .htpasswd should be placed in the root of the repo.

Creating a Data Container:

Create a data-only container to host the Munki repo:
docker run -d --name munki-data --entrypoint /bin/echo nmcspadden/munki Data-only container for munki

For more info on data containers read Tom Offermann's blog post and the official documentation.

Run the Munki container:

If you have an existing Munki repo on the host, you can mount that folder directly by using this option instead of --volumes-from:

-v /path/to/munki/repo:/munki_repo

Otherwise, use --volumes-from the data container:
docker run -d --name munki --volumes-from munki-data -p 80:80 -h munki nmcspadden/munki

Populate the Munki server (optional):

The easiest way to populate the Munki server is to hook the munki-data volume up to a Samba container and share it out to a Mac, using my SMB-Munki container:

  1. docker pull nmcspadden/smb-munki
  2. docker run -d -p 445:445 --volumes-from munki-data --name smb nmcspadden/smb-munki
  3. You may need to change permissions on the mounted share, or change the samba.conf to allow for guest read/write permissions. One example:
    chown -R nobody:nogroup /munki_repo
    chmod -R ugo+rwx /munki_repo
  4. Populate the Munki repo using the usual tools - munkiimport, manifestutil, makecatalogs, etc.
Docker Pull Command
Source Repository