Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/inmotionhosting/ansible-role-nextcloud

Modular Ansible Role for deploying and configuring Nextcloud.
https://github.com/inmotionhosting/ansible-role-nextcloud

Last synced: 8 days ago
JSON representation

Modular Ansible Role for deploying and configuring Nextcloud.

Awesome Lists containing this project

README

        

[![Build Status](https://travis-ci.org/inmotionhosting/ansible-role-nextcloud.png?branch=master)](https://travis-ci.org/inmotionhosting/ansible-role-nextcloud) [![GPL-3.0 License](https://img.shields.io/github/license/inmotionhosting/ansible-role-nextcloud.svg?color=blue)](https://github.com/inmotionhosting/ansible-role-nextcloud/blob/master/LICENSE) [![GitHub stars](https://img.shields.io/github/stars/inmotionhosting/ansible-role-nextcloud.svg)](https://github.com/inmotionhosting/ansible-role-nextcloud/stargazers)

# Ansible Role: Nextcloud

Modular Ansible Role for deploying and configuring Nextcloud.

## Requirements

* CentOS 7.x or later
* Debian 9 or later
* Ubuntu 16.04 LTS or later

## Dependencies

### Required

```yaml
- role: inmotionhosting.apache
- role: inmotionhosting.postgresql
- role: inmotionhosting.php_fpm
```

### Optional
```yaml
- role: inmotionhosting.letsencrypt
- role: inmotionhosting.redis
```

## Role Variables

Available variables are listed below with their default values (you can also see `defaults/main.yml`)

| Variable | Definition |
| -------- | ---------- |
| nextcloud_package | Download location for Nextcloud
| system_user | The system user that the Nextcloud installation will belong to.
| site_domain | The domain to associate with the Nextcloud installation.
| site_user | The username associated with the Nextcloud administrative account.
| site_pass | The password associated with the Nextcloud administrative account.
| nc_system_path | The web root for the Nextcloud installation. Defaults to /home/`system_user`/nextcloud
| data_storage | Options: data_dir (default), swift_v2, swift_v3, s3. If any option other than data_dir is picked, the appropriate variables will need to be filled out to connect to object storage.
| data_dir | The location of Nextcloud's data directory. Defaults to `nc_system_path`/data_dir
| postgres_user | The PostgreSQL system user, used to create databases
| nc_db_name | The name of the database to associate with this Nextcloud installation.
| nc_db_user | The name of the database user account to associate with this Nextcloud installation.
| nc_db_pass | (Optional) The password to associate with the `nc_db_user`. If not defined, the password will be automatically generated via `pass_gen_alias`.
| pass_gen_alias | A variable acting as an alias to generate safe passwords.
| use_letsencrypt | If role:letsencrypt is included, determines if an certificate is generated
| max_request_workers | Apache: The number of simultaneously connections allowed. Must be a multiple of 25.
| php_proc_mem: | PHP-FPM: Memory consumption per PHP worker.
| children_buffer | PHP-FPM: What percentage of the server's memory PHP can consume.
| use_redis | If role:redis is included, determines if Redis will be installed and configured

## Example Playbook
```yaml
- hosts: nextcloud
roles:
- role: ansible-role-apache
- role: ansible-role-postgresql
- role: ansible-role-php_fpm
- role: ansible-role-nextcloud
```

## License

GPLv3

## Author Information

[InMotion Hosting](https://inmotionhosting.com)