ansible-role-nextcloud/tasks/nextcloud.yml

99 lines
3.9 KiB
YAML

---
- name: "nextcloud: {{ instance.domain }}: Verzeichnis prüfen"
file:
path: "{{ nextcloud_install_path }}"
mode: 0755
state: directory
- name: "nextcloud: {{ instance.domain }}: herunterladen und entpacken"
unarchive:
src: "{{ nextcloud_dl_url }}/{{ nextcloud_version }}.tar.bz2"
remote_src: true
extra_opts:
- "--strip-components=1"
dest: "{{ nextcloud_install_path }}"
owner: "{{ user }}"
group: "{{ user }}"
mode: 0755
- name: "nextcloud: {{ instance.domain }}: Installation"
command: >
php "{{ nextcloud_install_path }}"/occ maintenance:install --database "mysql"
--database-name "{{ instance.database }}" --database-user "{{ instance.database }}"
--database-pass "{{ nextcloud_db_password }}" --database-host "{{ database_host }}"
--admin-user "{{ nextcloud_admin_user }}" --admin-pass "{{ nextcloud_admin_pw }}"
become: true
become_user: "{{ instance.user }}"
changed_when: true
#todo: Auch auf instances.alias anwenden
- name: "nextcloud: {{ instance.domain }}: trusted domains einrichten"
command: 'php {{ nextcloud_install_path }}/occ config:system:set trusted_domains {{ item.0 }} --value "{{ item.1 }}"'
become: true
become_user: "{{ instance.user }}"
changed_when: true
with_indexed_items:
- '{{ nextcloud_trusted_domains }}'
- name: "nextcloud: {{ instance.domain }}: cron einrichten"
cron:
name: "nextcloud {{ instance.domain }}"
minute: "*/5"
user: "{{ instance.user }}"
job: "php -f {{ nextcloud_install_path}}/cron.php"
cron_file: "nextcloud"
- name: "nextcloud: {{ instance.domain }}: allgemeie Konfiguration"
command: "{{ item }}"
become: true
become_user: "{{ instance.user }}"
changed_when: true
with_items:
- "php {{ nextcloud_install_path }}/occ app:enable encryption"
- "php {{ nextcloud_install_path }}/occ encryption:enable"
- 'php {{ nextcloud_install_path }}/occ config:system:set memcache.local --value "\\OC\\Memcache\\APCu"'
- 'php {{ nextcloud_install_path }}/occ config:system:set memcache.distributed --value "\OC\Memcache\Redis"'
- "php {{ nextcloud_install_path }}/occ background:cron"
- 'php {{ nextcloud_install_path }}/occ config:system:set overwrite.cli.url --value https://{{ instance.domain }}'
- 'php {{ nextcloud_install_path }}/occ config:system:set htaccess.RewriteBase --value /'
- 'php {{ nextcloud_install_path }}/occ maintenance:update:htaccess'
- 'php {{ nextcloud_install_path }}/occ config:system:set default_language --value "de"'
- 'php {{ nextcloud_install_path }}/occ config:system:set default_phone_region --value "DE"'
- 'php {{ nextcloud_install_path }}/occ config:system:set loglevel --value "1"'
- name: "nextcloud: {{ instance.domain }}: Mailversand einrichten"
blockinfile:
path: "{{ nextcloud_config_file }}"
insertbefore: '^\);'
marker_begin: mailserver
block: |2
'mail_from_address' => '{{ nextcloud_mail_from }}',
'mail_smtpmode' => 'smtp',
'mail_sendmailmode' => 'smtp',
'mail_domain' => '{{ nextcloud_mail_domain }}',
'mail_smtpauthtype' => '{{ nextcloud_smtp_auth_type }}',
'mail_smtphost' => '{{ nextcloud_smtp_host }}',
'mail_smtpport' => '{{ nextcloud_smtp_port}}',
- name: "nextcloud: {{ instance.domain }}: Filelocking"
blockinfile:
path: "{{ nextcloud_config_file }}"
insertbefore: '^\);'
marker_begin: filelocking
block: |2
'filelocking.enabled' => true,
'memcache.locking' => '\OC\Memcache\Redis',
'redis' => array(
'host' => '/var/run/redis/redis-server.sock',
'port' => 0,
'timeout' => 0.0,
),
- name: "nextcloud: {{ instance.domain }}: trusted proxies einrichten"
command: 'php {{ nextcloud_install_path }}/occ config:system:set trusted_proxies {{ item.0 }} --value "{{ item.1 }}"'
become: true
become_user: "{{ instance.user }}"
changed_when: true
with_indexed_items:
- '{{ nextcloud_trusted_proxies }}'