master
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