Forge Home


Puppet ownCloud Module


9,586 latest version

4.0 quality score

Version information

  • 0.0.2 (latest)
  • 0.0.1
released Aug 25th 2014

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'velaluqa-owncloud', '0.0.2'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add velaluqa-owncloud
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install velaluqa-owncloud --version 0.0.2

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.



velaluqa/owncloud — version 0.0.2 Aug 25th 2014


A puppet module to easily deploy owncloud. Make sure you have a correct php5 installation. This module only downloads the latest owncloud archive and extracts it to a given path.

Additionally it provides a nginx class to configure nginx to serve owncloud.

You may have to install php5-fpm (via puppet-php) and configure your web server (maybe with a puppet nginx module).

Suggested Preparation

This module is as simple as possible. You should be able to choose your own php installation and to decide which webserver you use.

# Create a new MySQL database
mysql::db { "owncloud":
  user => "owncloud",
  password => "myowncloudpassword",
  host => "",
  require => Class['mysql::server'],

# Setup nginx via the jfryman/nginx puppet module
class { 'nginx': }

# Setup a sufficient php5 installation via the nodes/php puppet module
class { 'php::extension::gd': }
class { 'php::extension::curl': }
class { 'php::extension::ldap': }
class { 'php::cli': ensure => present }
class { 'php::fpm::daemon': ensure => running }
class { 'php::extension::mysql': }

# Make sure php5-fpm is configured correctly
php::fpm::conf { 'www':
  listen => '/var/run/php5-fpm.sock',
  user => 'www-data',

# Configure php correctly
php::config { 'php-owncloud-conf':
  inifile  => '/etc/php5/fpm/php.ini',
  settings => {
    set => {
      'Date/date.timezone' => 'Europe/Berlin',
      'PHP/upload_tmp_dir' => '/srv/owncloud/data',
      'PHP/upload_max_filesize' => '1000M',
      'PHP/post_max_size' => '1000M',

# Install owncloud
class { 'owncloud':
  path => '/srv/owncloud'

# Configure nginx to serve owncloud
class { 'owncloud::nginx':
  hostname => 'mydomain.tld',
  upload_max_filesize => '1000M',
  php_fpm => 'unix:/var/run/php5-fpm.sock',
  # ssl => true,
  # ssl_key => 'mydomain.tld.key',
  # ssl_cert => 'mydomain.tld.crt',

Notice: Afterwards you have to configure owncloud manually. If you find a way to configure owncloud from the commandline, we would appreciate a pull request. Thanks!


Want to help - send a pull request.