self-hosting/roles/nextcloud-docker/tasks/main.yml
2019-11-05 03:37:05 +01:00

49 lines
1.3 KiB
YAML

---
- name: Copy nextcloud docker files
copy:
src: nextcloud
dest: "{{docker_compose_files_folder}}"
- name: Create .env
template:
src: nextcloud/.env
dest: "{{docker_compose_files_folder}}/nextcloud/.env"
- name: Create nextcloud config
template:
src: nextcloud/config/{{item}}
dest: "{{docker_compose_files_folder}}/nextcloud/config/{{item}}"
with_items:
- base.config.php
- database.config.php
- mail.config.php
- name: Change config folder owner to http
file:
path: "{{docker_compose_files_folder}}/nextcloud/config"
owner: "33"
group: "33"
recurse: yes
- name: Build and start nextcloud docker project
docker_compose:
project_src: "{{docker_compose_files_folder}}/nextcloud"
build: yes
pull: yes
state: present
- name: Check if database tables exist
command: docker-compose exec -T postgres psql -U nextcloud nextcloud -c "\dt"
args:
chdir: "{{docker_compose_files_folder}}/nextcloud/"
register: db_tables_exist
retries: 15
delay: 10
until: db_tables_exist.rc == 0
changed_when: no
- name: Restore Nextcloud database
command: docker-compose exec -T postgres sh -c "psql -U nextcloud nextcloud < /backups/database.dmp"
args:
chdir: "{{docker_compose_files_folder}}/nextcloud/"
when: db_tables_exist.stdout_lines|length == 0