You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 

94 lines
3.1 KiB

---
#- name: Install dependency packages
# apt:
# name: "{{ nc_dependency_packages }}"
# state: present
# register: installed
#- debug:
# var: installed
#
#
#- name: Download Nextcloud
# get_url:
# url: https://download.nextcloud.com/server/releases/nextcloud-{{ nc_version }}.zip
# dest: /tmp/
#
- name: Create LDAP suffix from domain name of the form dc=example,dc=com
shell: echo "{{ domainname }}" | sed -e 's/^/dc=/' -e 's/\./,dc=/g'
args:
executable: /bin/bash
register: ldap_suffix
- name: Passing value to ldapBaseDN
set_fact:
ldapBaseDN: cn=users,cn=accounts,{{ ldap_suffix.stdout }}
- debug:
var: ldapBaseDN
- name: Extract nextcloud
unarchive:
src: "/tmp/nextcloud-{{ nc_version }}.zip"
dest: /var/www
owner: www-data
group: www-data
- name: Copy occ to /usr/bin
template:
src: occ.j2
dest: /usr/bin/occ
mode: u+x,g+x,o+x
- name: Installistaion using occ
shell: |
occ maintenance:install --no-interaction --database "{{ nc_db }}" \
--database-host "{{ nc_db_host }}" --database-name "{{ nc_db_name}}" \
--database-user "{{ nc_db_user }}" --database-pass "{{ nc_db_pass}}" \
--admin-user "{{ nc_admin_username }}" --admin-pass "{{ nc_admin_pass }}"
register: occ_install
- debug:
var: occ_install
- name: Adding trusted domains to config.php
shell: occ config:system:set trusted_domains --value {{ item.value }} {{ item.key }}
with_dict:
- "{{ nc_trusted_domains }}"
register: occ_trusted_domains
- debug:
msg: "{{ occ_trusted_domains.results | json_query('[*].{ Command: cmd, Result: stdout }') }}"
- name: Installing apps
shell: occ app:install "{{ item }}"
with_items:
- "{{ nc_app_list }}"
register: occ_app_install
- debug:
var: occ_app_install.stdout
- name: Enable ldap
shell: occ app:enable user_ldap
- name: Create empty ldap config
shell: occ ldap:create-empty-config
- name: Ldap configuration
shell: occ ldap:set-config s01 "{{item.key}} {{item.value}}"
with_dict: "{{ ldap }}"
- name: Provision email accounts for PostgreSQL
community.postgresql.postgresql_query:
db: "{{ nc_db_name }}"
login_host: "{{ nc_db_host}}"
login_user: "{{ nc_db_user }}"
login_password: "{{ nc_db_pass }}"
query: INSERT into oc_mail_provisionings (provisioning_domain,email_template,imap_user,imap_host,imap_port,imap_ssl_mode,smtp_user,smtp_host,smtp_port,smtp_ssl_mode) VALUES ('*', '%EMAIL%', '%EMAIL%' , '{{ domainname }}', 993, 'ssl','%USERID%','{{ domainname }}',587,'tls')
when: "{{ nc_db == 'pgsql' }}"
- name: Provision email accounts for MySQL
community.mysql.mysql_query:
login_db: "{{ nc_db_name }}"
login_user: "{{ nc_db_user }}"
login_password: "{{ nc_db_pass }}"
login_unix_socket: /var/run/mysqld/mysqld.sock
query: INSERT into oc_mail_provisionings (provisioning_domain,email_template,imap_user,imap_host,imap_port,imap_ssl_mode,smtp_user,smtp_host,smtp_port,smtp_ssl_mode) VALUES ('*', '%EMAIL%', '%EMAIL%' , '{{ domainname }}', 993, 'ssl','%USERID%','{{ domainname }}',587,'tls')
when: "{{ nc_db == 'mysql' }}"