Fully automated Nextcloud/Talk/Collabora/OnlineOffice installation with Ansible

Hi all,

I improved again my ansible playbook to install Nextcloud/Talk/Collabora based on hginx/php7.2/redis/mariadb|postgres.

I tested it carefully but the enormous combinations of OS versions and packages are too difficult to find all bugs. E.g CentOS 7 on AWS with Talk won’t work because of a yet unresolved package conflict. And there is no backup script for Postgres yet. Help appreciated. :wink:

That’s why it is still a RC.

Feedback welcome.

Roadmap:

  • Kill the bugs.
  • Make all combinations working
  • Raspberry support
  • Launch an AWS complete VPC
3 Likes

In the devel branch I added OnlyOffice, fixed some bugs and replaced some default passwords with generated ones. (e.g. Talk, OnlyOffice, Postgres/mysql user).

Also backup of the Postgres DB with restic should work now.

1 Like

Hey Reiner,

just checked out you ansible script on github. Unfortunatelly it does not “play” on proxmox in an lxc environment: https://forum.proxmox.com/threads/failed-to-start-disable-transparent-huge-pages-in-lxc-container.67209
Any hint how to fix this particular problem?

Keep up your great work,
Greetings
Claudy

Which version of the playbooks do you use?

The easiest way is to comment out the two tasks. or add a when: false

Are you familiar with ansible?

1 Like

root@debian-16gb-fsn1-1:~/nextcloud# ansible-playbook --version
ansible-playbook 2.9.6
config file = /root/nextcloud/ansible.cfg
configured module search path = [u’/root/.ansible/plugins/modules’, u’/usr/share/ansible/plugins/modules’]
ansible python module location = /usr/local/lib/python2.7/dist-packages/ansible
executable location = /usr/local/bin/ansible-playbook
python version = 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0]

And no, not yet, but learning ansible on the go right now :slight_smile:

In which script do i uncomment the two tasks?

I got it:
/nextcloud/roles/prep_os/files
edit disable-transparent-huge-pages.service
and comment like this:

ExecStart=/bin/sh -c ‘/bin/echo never > /sys/kernel/mm/transparent_hugepage/enabled’

ExecStart=/bin/sh -c ‘/bin/echo never > /sys/kernel/mm/transparent_hugepage/defrag’

OK. You are still using the master branch. Which is OK.

So look at:

Either delete till line 77 or use # or put a when: false below each task.

- name: disable transparent hugepages - copy service file
  copy:
    src: disable-transparent-huge-pages.service
    dest: '{{ service_path[ansible_distribution] }}/disable-transparent-huge-pages.service'
    owner: root
    group: root
    mode: 0644
  when: false

- name: enable service disable-transparent-hugepages
  service:
    name: disable-transparent-huge-pages.service
    enabled: true
    state: started
  when: false

A while ago I started a new version in the branch nextcloud-reloaded.

Debian and Ubuntu should work already. Right now I’m stuck with CentOS. That’s why I didn’t merge/replace master. If you start from zero try to use nextcloud reloaded. If you don’t want to start again from zero stay with master. Because both are not compatible. (Both will work at the end.)

In the nextcloud reloaded branch you’ll find the “huge pages” thing in roles\os\tasks\tuning.yml. But it seams that I forgot to include it. :frowning: