Gitlab Community Edition Instance

Skip to content
Snippets Groups Projects
docker.pp 1.43 KiB
Newer Older
Benedikt Wegmann's avatar
Benedikt Wegmann committed
class ubuntu_server::docker {
    File{
        owner => 'root',
        group => 'root',
        mode => 644,
    }

    Exec{
        path => $path,
    }

    exec{'docker-apt-repo':
        command => "apt-key adv --keyserver hkp://p80.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D",
        unless => "apt-key list | grep -q 2C52609D",
        notify => Exec['apt-get update'],
    }

Benedikt Wegmann's avatar
Benedikt Wegmann committed
    exec{'apt-get-update':
Benedikt Wegmann's avatar
Benedikt Wegmann committed
        command => 'apt-get update',
    }

    file{'/etc/apt/sources.list.d/docker.list':
        ensure => present,
        content => "deb https://apt.dockerproject.org/repo ubuntu-trusty main",
        notify => Exec['apt-get update'],
    }

    package{'lxc-docker':
        ensure => purged,
        before => Package['docker-engine'],
    }

    package{'docker-engine':
        ensure => present,
Benedikt Wegmann's avatar
Benedikt Wegmann committed
        require => [Exec['docker-apt-repo'],File['/etc/apt/sources.list.d/docker.list'],Exec['ubuntu_server::docker::apt-get-update']],
Benedikt Wegmann's avatar
Benedikt Wegmann committed
    }

    service{'docker':
        ensure => running,
        require => Package['docker-engine'],
    }

    exec{'docker-compose':
        command => 'curl -L https://github.com/docker/compose/releases/download/1.6.2/docker-compose-$(uname -s)-$(uname -m) > /usr/local/bin/docker-compose',
        creates => '/usr/local/bin/docker-compose',
    }

    file{'/usr/local/bin/docker-compose':
        mode => 750,
        require => Exec['docker-compose'],
    }

}