4ee5aacf61
Signed-off-by: Nis Wechselberg <enbewe@enbewe.de>
93 lines
2.7 KiB
YAML
93 lines
2.7 KiB
YAML
---
|
|
- name: 'Ensure needed software is installed'
|
|
become: true
|
|
ansible.builtin.apt:
|
|
name: 'podman'
|
|
state: 'present'
|
|
update_cache: true
|
|
cache_valid_time: 3600
|
|
|
|
- name: 'Prepare network'
|
|
become: true
|
|
containers.podman.podman_network:
|
|
name: '{{ nextcloud_podman_network }}'
|
|
state: 'present'
|
|
|
|
- name: 'Prepare nextcloud config files location'
|
|
become: true
|
|
ansible.builtin.file:
|
|
path: '/etc/nextcloud'
|
|
state: 'directory'
|
|
owner: 'root'
|
|
group: 'root'
|
|
mode: 'u=rwx,g=rx,o=rx'
|
|
|
|
- name: 'Create config files for nextcloud'
|
|
become: true
|
|
ansible.builtin.template:
|
|
src: '{{ item.src }}'
|
|
dest: '{{ item.dest }}'
|
|
owner: 33
|
|
group: 33
|
|
mode: '{{ item.mode }}'
|
|
notify: 'Restart nextcloud-app container'
|
|
loop:
|
|
- src: 'nextcloud/oidc.config.php.j2'
|
|
dest: '/etc/nextcloud/oidc.config.php'
|
|
mode: 'u=rw,g=r,o=r'
|
|
- src: 'nextcloud/ansible.config.php.j2'
|
|
dest: '/etc/nextcloud/ansible.config.php'
|
|
mode: 'u=rw,g=r,o=r'
|
|
- src: 'nextcloud/copy_config.sh.j2'
|
|
dest: '/etc/nextcloud/copy_config.sh'
|
|
mode: 'u=rwx,g=rx,o=rx'
|
|
|
|
- name: 'Create service files'
|
|
become: true
|
|
ansible.builtin.template:
|
|
src: '{{ item.src }}'
|
|
dest: '{{ item.dest }}'
|
|
owner: 'root'
|
|
group: 'root'
|
|
mode: 'u=rw,g=r,o=r'
|
|
notify: '{{ item.notify }}'
|
|
loop:
|
|
- src: 'systemd/container-nextcloud-db.service.j2'
|
|
dest: '/etc/systemd/system/container-nextcloud-db.service'
|
|
notify: 'Restart nextcloud-db container'
|
|
- src: 'systemd/container-nextcloud-redis.service.j2'
|
|
dest: '/etc/systemd/system/container-nextcloud-redis.service'
|
|
notify: 'Restart nextcloud-redis container'
|
|
- src: 'systemd/container-nextcloud-cron.service.j2'
|
|
dest: '/etc/systemd/system/container-nextcloud-cron.service'
|
|
notify: 'Restart nextcloud-cron container'
|
|
- src: 'systemd/container-nextcloud-app.service.j2'
|
|
dest: '/etc/systemd/system/container-nextcloud-app.service'
|
|
notify: 'Restart nextcloud-app container'
|
|
|
|
- name: 'Start and enable services'
|
|
become: true
|
|
ansible.builtin.systemd:
|
|
name: '{{ item }}'
|
|
state: 'started'
|
|
daemon_reload: true
|
|
enabled: true
|
|
loop:
|
|
- 'container-nextcloud-db.service'
|
|
- 'container-nextcloud-redis.service'
|
|
- 'container-nextcloud-cron.service'
|
|
- 'container-nextcloud-app.service'
|
|
|
|
- name: 'Configure apps'
|
|
become: true
|
|
enbewe.nextcloud.nextcloud_app:
|
|
state: '{{ item.key }}'
|
|
name: '{{ item.value }}'
|
|
force: true
|
|
container_name: '{{ nextcloud_app_container_name }}'
|
|
retries: 30
|
|
delay: 10
|
|
notify:
|
|
- 'Restart nextcloud-cron container'
|
|
- 'Restart nextcloud-app container'
|
|
loop: '{{ nextcloud_apps | dict2items }}'
|