This project adheres to Semantic Versioning and human-readable changelog.

The current role maintainer is ypid.

Refer to the Upgrade notes when you intend to upgrade to a new release.

debops.owncloud master - unreleased




  • Removed deprecated Ansible inventory group debops_owncloud. Refer to the Getting started guide. [ypid]


  • Ansible 2.2 support for usage in integration testing. Version 2.2 mentions a few deprecation warnings. We are aware of this but there is not much we can do yet as Ansible 2.1 support should be retained for this release. [ypid]
  • Fix owncloud__webserver and owncloud.webserver Ansible fact generation. groups is not a list of the groups of the current host but a dictionary of all groups. Use group_names. [ypid]
  • Don’t attempt to run certain occ subcommands when ownCloud is in maintenance mode as some subcommands are not available in maintenance mode. This kind of restricts the use of the maintenance mode for this role when you want to use those occ subcommands. As a result, this role does not enable or disable maintenance mode and the role maintainers recommend to leave maintainers mode disabled. [ypid]


  • Update to the new ownCloud build service OpenPGP key with fingerprint DDA2 C105 C4B7 3A66 49AD  2BBD 47AE 7F72 479B C94B.

    Note that new releases are signed with that key. If the new key is not present, no updates will be installed because they can not be verified. Thus updates fixing potential security issues will not be installed!

    Please run the updated role with the new key against your host(s) to fix this. [ypid]

  • Switch back to importing the OpenPGP key from a key file shipped with this role to mitigate a vulnerability in the Ansible apt_key module.

    Refer to apt_key module does not verify key fingerprints for details. [ypid]

  • Ensure that old or unused OpenPGP public keys which where previously used to sign the APT repository are absent. This is done to mitigate the possibility of one of the keys getting compromised. [ypid]

  • Require at least Ansible 2.1.4 to run the role. Refer to Ansible Security for details. Note that the requirement is currently not enforced by Ansible so you could run the role with older Ansible versions but you really should not! [ypid]

debops.owncloud v0.3.0 - 2016-09-17



  • Update owncloud__release to 9.0. [drybjed]

  • Installation of the wrapper script for the occ command is no longer optional as it is needed by the role internally.

    The owncloud__enable_occ_shortcut variable has no effect anymore and you can remove it from your inventory. [ypid]

  • Reworked ownCloud autosetup tasks. [ypid]

  • Refactored occ usage in tasks into a separate task file which can be included from other parts of the role. This requires Ansible 2.0 to work. [ypid]

  • Moved variables defined under vars/ to defaults/main.yml to allow to change them. [ypid]

  • Switched to become for privilege escalation as recommended by Ansible. [ypid]

  • Use ownCloud APT repository of the latest stable release of ownCloud which is supported by this role and not the latest stable release of ownCloud for which DebOps might need adoption. This allows the role maintainers to update the role to new releases, test it and then release a new version of the role. [ypid]

  • Consolidated owncloud__initial_config_* and owncloud__custom_*conf_map into the owncloud__config_* namespace. The new variables allow to alter settings after the initial setup. [ypid]

  • Switched the Changelog to a new format. [ypid]

  • Introduced owncloud_ldap_update_settings set to True. Previously, this was not configurable and the LDAP settings where not updated in ownCloud after LDAP was configured. [ypid]

  • Switched from the debops.php5 role to the new and unified debops.php role and tested PHP7.0 support. [ypid]

  • Support large file uploads by increasing the owncloud__timeout from 300 to 3600 and the owncloud__upload_size from 128M to 2G. [ypid]

  • Support to run the occ wrapper script as owncloud__user which can be useful for scripting. [ypid]

  • Changed default ownCloud domain from owncloud.{{ ansible_domain }} to cloud.{{ ansible_domain }} to generalize the role. Note that this migration might leave some legacy files on the remote host in place. Test this before or overwrite this change using owncloud__domain. [ypid]

  • Renamed Ansible tags

    • role::owncloud:base_installrole::owncloud:pkg
    • role::owncloud:mailrole::owncloud:config


  • Renamed variables to be consistent with DebOps:

    The role bundles a script which can do this transition for you. Refer to Upgrade from v0.2.0 to v0.3.0 for details.


  • Use the debops.core local facts as a base for the owncloud__domain variable instead of using the ansible_domain variable directly. [drybjed]

  • Rename the owncloud__subdomain variable to owncloud__fqdn, and use it to set the FQDN of the ownCloud service. [drybjed]

  • The owncloud__fqdn variable is used as the mail domain, the mail "from" account is changed from owncloud__subdomain variable to noreply string. [drybjed]

  • Use a static filename of the nginx server configuration file. This might require manual removal of the old nginx server configuration file on existing installations. [drybjed]

  • Support to use a Redis password as configured by debops.redis v0.2.0 automatically. [ypid]


  • Deprecated ownCloud 8.0 support which is End of Life as of 8.0.15 (2016-09-20). [ypid]


  • Changed role namespace from owncloud_ to owncloud__. owncloud_[^_] variables are dropped and don’t have any effect anymore. [ypid]

  • Remove most of the Ansible role dependencies.

    Please run the DebOps playbook to make sure that webserver and database are ready. [ypid]

  • Remove the owncloud-server package from list of installed packages, it has been dropped as of ownCloud 9.0. [drybjed]

  • Dropped support for Debian 7, Ubuntu 12.04 and 14.10 due to additional work which would be required. See for details. If you need support for one of them and can get it to work we will be happy about your contribution! [ypid]

  • Drop ownCloud 7.0 support which is End of Life as of 7.0.15 (2016-05-12). [ypid]


  • Fixed occ command wrapper to work with ownCloud 8.0. [ypid]
  • Don’t rely on /usr/local/bin being in the PATH environment variable for this role to work. [ypid]
  • Updated Nginx configuration to the example given in the official ownCloud documentation. Fixes security warnings which occurred with the latest version of debops.nginx about duplicated security headers. [ypid]
  • Fix error when strings handed over to occ maintenance:install start with a hyphen. This only affected the initial setup and the role would have failed previously. If the role worked for you, then you where not affected by this bug (occurrence of this bug was random based on the generated passwords). [ypid]

debops.owncloud v0.2.0 - 2015-11-12


  • Add Changelog. [ypid]
  • Allow to use occ via Ansible’s inventory. Can be used to enable apps and create users. [ypid]
  • Setup shortcut for the occ command when not logged in as owncloud_user user and sudo allows it. Disabled by default. Can be enabled via owncloud_enable_occ_shortcut. [ypid]
  • New PostgreSQL role support. Now PostgreSQL and MariaDB/MySQL support is unified. [scibi]


  • Use debops.mariadb to allow to use MariaDB or MySQL on a remote server. [ypid]
  • Updated to ownCloud 8.1. [ypid]
  • Improved LDAP support. Now role will create service account (default: cn=owncloud,dc=ansible,dc=fqdn) in LDAP server. You still have to provide proper permission for this account. [scibi]
  • Switch ownCloud APT repository to upstream repository, support different Linux distributions and releases out of the box. [drybjed]
  • Use http:// protocol instead of https:// for APT repository URL, because encrypted connection has issues. [drybjed]


  • New variable: owncloud_timeout needed to handle very large files uploads. [scibi]
  • Disabled updater App as it does not work with this role anyway. [ypid]

debops.owncloud v0.1.0 - 2015-08-11