82 lines
3.1 KiB
YAML
82 lines
3.1 KiB
YAML
---
|
|
- name: Include docker volume role
|
|
ansible.builtin.include_role:
|
|
name: docker_volume
|
|
vars:
|
|
docker_volume_name: "{{ nextcloud_volume_name }}"
|
|
docker_volume_backup_set: "{{ nextcloud_volume_backup_set | default([]) }}"
|
|
when: nextcloud_volume_name is defined
|
|
|
|
- name: Init {{ role_name }} env vars
|
|
ansible.builtin.set_fact:
|
|
nextcloud_env:
|
|
NEXTCLOUD_HOSTNAME: "{{ nextcloud_domain }}"
|
|
NEXTCLOUD_TRUSTED_DOMAINS: "{{ nextcloud_trusted_domains }}"
|
|
NEXTCLOUD_ADMIN_USER: "{{ nextcloud_admin_user }}"
|
|
NEXTCLOUD_ADMIN_PASSWORD: "{{ nextcloud_admin_password }}"
|
|
SMTP_HOST: "{{ nextcloud_mail_hostname }}"
|
|
SMTP_SECURE: "{{ nextcloud_mail_encryption }}"
|
|
SMTP_PORT: "{{ nextcloud_mail_port }}"
|
|
SMTP_AUTHTYPE: LOGIN
|
|
SMTP_NAME: "{{ nextcloud_mail_username }}"
|
|
SMTP_PASSWORD: "{{ nextcloud_mail_password }}"
|
|
MAIL_FROM_ADDRESS: "{{ nextcloud_mail_from }}"
|
|
MAIL_DOMAIN: "{{ nextcloud_mail_username.split('@')[1] }}"
|
|
TZ: "{{ nextcloud_timezone }}"
|
|
OVERWRITEPROTOCOL: https
|
|
OVERWRITEHOST: "{{ nextcloud_domain }}"
|
|
REDIS_HOST: "{{ nextcloud_redis_hostname }}" # FIXME: Not working without redis
|
|
REDIS_HOST_PASSWORD: "{{ nextcloud_redis_password }}"
|
|
|
|
- name: Append postgres env vars
|
|
ansible.builtin.set_fact:
|
|
nextcloud_env: "{{ nextcloud_env | combine(item) }}"
|
|
with_items:
|
|
- POSTGRES_HOST: "{{ nextcloud_postgres_hostname }}:5432"
|
|
- POSTGRES_USER: "{{ nextcloud_postgres_user }}"
|
|
- POSTGRES_PASSWORD: "{{ nextcloud_postgres_password }}"
|
|
- POSTGRES_DB: "{{ nextcloud_postgres_db }}"
|
|
when: nextcloud_postgres_hostname is defined
|
|
|
|
- name: Append mysql env vars
|
|
ansible.builtin.set_fact:
|
|
nextcloud_env: "{{ nextcloud_env | combine(item) }}"
|
|
with_items:
|
|
- MYSQL_HOST: "{{ nextcloud_mysql_hostname }}"
|
|
- MYSQL_USER: "{{ nextcloud_mysql_user }}"
|
|
- MYSQL_PASSWORD: "{{ nextcloud_mysql_password }}"
|
|
- MYSQL_DATABASE: "{{ nextcloud_mysql_db }}"
|
|
when: nextcloud_mysql_hostname is defined
|
|
|
|
- name: Start {{ role_name }} container {{ nextcloud_hostname }}
|
|
community.docker.docker_container:
|
|
name: "{{ nextcloud_hostname }}"
|
|
labels:
|
|
description: "{{ nextcloud_description }}"
|
|
image: "{{ nextcloud_image }}"
|
|
restart_policy: unless-stopped
|
|
recreate: false
|
|
env: "{{ nextcloud_env }}"
|
|
volumes:
|
|
- "{{ nextcloud_volume_name }}:/var/www/html"
|
|
networks:
|
|
- name: "{{ docker_network_name }}"
|
|
etc_hosts: "{{ nextcloud_etc_hosts }}"
|
|
log_driver: "{{ docker_log_driver }}"
|
|
log_options:
|
|
max-size: "{{ docker_log_max_size }}"
|
|
max-file: "{{ docker_log_max_file }}"
|
|
tag: "{{ nextcloud_hostname }}|{{ role_name }}"
|
|
register: start_nextcloud_container
|
|
|
|
- name: Wait for {{ role_name }} container # noqa 503
|
|
ansible.builtin.pause:
|
|
seconds: "30"
|
|
when: start_nextcloud_container.changed
|
|
|
|
- name: Cron job to run {{ role_name }} background jobs
|
|
ansible.builtin.cron:
|
|
name: Run nextcloud background jobs
|
|
minute: "*/5"
|
|
job: docker exec -u www-data {{ nextcloud_hostname }} php -f /var/www/html/cron.php; write-node-exporter-metric -c "Run nextcloud background jobs" -v $?
|