Pingping Lin | b7a7d2b | 2016-08-19 18:11:36 +0000 | [diff] [blame] | 1 | FROM xosproject/xos |
| 2 | |
| 3 | RUN DEBIAN_FRONTEND=noninteractive apt-get update && apt-get install -y \ |
| 4 | openssh-client \ |
| 5 | python-crypto \ |
| 6 | python-jinja2 \ |
| 7 | python-paramiko \ |
| 8 | python-yaml \ |
| 9 | python-httplib2 \ |
| 10 | rsync \ |
| 11 | supervisor |
| 12 | |
| 13 | RUN pip install -U \ |
| 14 | jinja2 |
| 15 | |
| 16 | # Install custom Ansible |
| 17 | RUN \ |
| 18 | git clone -b release1.8.2 git://github.com/ansible/ansible.git /opt/ansible && \ |
| 19 | git clone -b release1.8.2 git://github.com/ansible/ansible-modules-extras.git /opt/ansible/lib/ansible/modules/extras && \ |
| 20 | git clone -b release1.8.2 git://github.com/ansible/ansible-modules-extras.git /opt/ansible/v2/ansible/modules/extras && \ |
| 21 | git clone git://github.com/sb98052/ansible-modules-core.git /opt/ansible/lib/ansible/modules/core && \ |
| 22 | git clone git://github.com/sb98052/ansible-modules-core.git /opt/ansible/v2/ansible/modules/core && \ |
| 23 | # git clone uses cached copy, doesn't pick up latest |
| 24 | git -C /opt/ansible pull && \ |
| 25 | git -C /opt/ansible/lib/ansible/modules/core pull && \ |
| 26 | git -C /opt/ansible/v2/ansible/modules/core pull |
| 27 | |
| 28 | |
| 29 | # For Observer |
| 30 | RUN mkdir -p /usr/local/share /bin /etc/ansible |
| 31 | |
| 32 | COPY conf/ansible-hosts /etc/ansible/hosts |
| 33 | |
| 34 | ADD http://phantomjs.googlecode.com/files/phantomjs-1.7.0-linux-x86_64.tar.bz2 /usr/local/share/ |
| 35 | |
| 36 | RUN git clone git://git.planet-lab.org/fofum.git /tmp/fofum && \ |
| 37 | cd /tmp/fofum; python setup.py install && \ |
| 38 | rm -rf /tmp/fofum && \ |
| 39 | tar jxvf /usr/local/share/phantomjs-1.7.0-linux-x86_64.tar.bz2 -C /usr/local/share/ && \ |
| 40 | rm -f /usr/local/share/phantomjs-1.7.0-linux-x86_64.tar.bz2 && \ |
| 41 | ln -s /usr/local/share/phantomjs-1.7.0-linux-x86_64 /usr/local/share/phantomjs && \ |
| 42 | ln -s /usr/local/share/phantomjs/bin/phantomjs /bin/phantomjs |
| 43 | |
| 44 | |
| 45 | # Supervisor |
| 46 | COPY conf/synchronizer.conf /etc/supervisor/conf.d/ |
| 47 | |
| 48 | CMD update-ca-certificates && /usr/bin/supervisord -c /etc/supervisor/conf.d/synchronizer.conf |