Public | Automated Build

Last pushed: 7 months ago
Short Description
A variant of chambana/jekyll-github that provides mod_userdir and SSH support.
Full Description


A variant of docker-jekyll-github that in addition to serving a static site, provides mod_userdir directory and SSH support.


See docker-jekyll-github for configuration options related to pulling Jekyll sites from Github repositories.

Besides the above functionality, this container provides user creation and SSH support, and hosts user pages on port 80 from $HOME/public_html as per the standard functionality of Apache mod_userdir. In order to use this support, create a users.yml file and mount it as a volume into the directory at /etc/ssh/auth/users.yml. This will be used to create users when the container starts up. The YAML file has the format:

  key: bar
  key: qux

Which creates the users foo and bar, and where they keys provided are full SSH public key strings such as would be contained in an authorized_keys file. An example docker-compose stanza:

    image: chambana/userdir
      - "2222:22"
      - "80:80"
      - /root/users.yml:/etc/ssh/auth/users.yml:ro
      - /var/users:/home
      - JEKYLL_GITHUB_USER=example

This example downloads and builds a Jekyll site from the '' project owned by user 'example', mounts the /var/users directory from the host to serve as user home directories inside the container, and exposes SSH on port 2222 and Apache on port 80. If users.yml was as above and this host was reachable at, foo would be able to login via SSH on port 2222 to host, and files placed in /home/foo/public_html in the container would be accessible at


  • The YAML parsing is just a bash function and is not rigorous! Use two spaces for tabs for best results.
  • For SSL support it is recommented to run this behind a proxy setup.
Docker Pull Command
Source Repository