master
Raw Download raw file
 1---
 2- hosts: docker_host
 3  vars:
 4    docker_deps:
 5      - python-software-properties
 6      - python-apt
 7      - python-pycurl
 8      - wget
 9    linux_kernel: linux-image-generic-lts-raring
10    vbox_additions_iso: http://dlc.sun.com.edgesuite.net/virtualbox/4.3.4/VBoxGuestAdditions_4.3.4.iso 
11    docker_apt: "deb http://get.docker.io/ubuntu docker main"
12  tasks:
13    # install dependencies needed to run the docker lxc engine (http://www.docker.io/)
14    # Basically a reworking of docker's Vagrentfile[1] into an ansible-playbook
15    # [1] https://github.com/dotcloud/docker/blob/master/Vagrantfile
16
17    - name: Install {{ linux_kernel }} # defined in group_vars/hosting.yml
18      when: docker_update_kernel is undefined or not docker_update_kernel
19      apt: package={{ linux_kernel }} update_cache=yes state=present
20      sudo: yes
21      notify:
22      - restart server
23
24    - name: Pre-repo add dependencies
25      apt: pkg={{ item }} state=latest
26      with_items: docker_deps
27      sudo: yes
28
29    - name: Add docker repository key
30      apt_key: url=https://get.docker.io/gpg state=present
31      sudo: yes
32     
33    - name: Add docker repository
34      apt_repository: repo="{{ docker_apt }}" state=present
35      sudo: yes
36
37    - name: Install docker
38      apt: pkg=lxc-docker state=latest update_cache=yes
39      sudo: yes
40      notify:
41      - restart server
42
43    - name: add {{ ansible_user_id }} to docker group
44      user: name={{ ansible_user_id }} groups=docker append=yes
45      sudo: yes
46    
47    #- name: wget VBox Additions iso for fixing after kernel update
48    #  action: wget -q {{ vbox_additions_iso }}
49    #  tags: vbox
50
51  handlers:
52    - name: restart server
53      command: /sbin/reboot
54      sudo: yes
55