ansible/roles/docker/tasks/services/nextcloud.yml

77 lines
2.3 KiB
YAML

---
- name: upload vhost config for cloud.data.coop
ansible.builtin.template:
src: files/configs/nextcloud/vhost
dest: '{{ services.nginx_proxy.volume_folder }}/vhost/{{ services.nextcloud.domain
}}'
notify: restart nginx
- name: setup nextcloud containers
community.docker.docker_compose:
project_name: nextcloud
pull: true
definition:
services:
postgres:
image: postgres:10
restart: unless-stopped
networks:
- nextcloud
volumes:
- '{{ services.nextcloud.volume_folder }}/postgres:/var/lib/postgresql/data'
environment:
POSTGRES_DB: nextcloud
POSTGRES_PASSWORD: '{{ postgres_passwords.nextcloud }}'
POSTGRES_USER: nextcloud
redis:
image: redis:7-alpine
restart: unless-stopped
command: redis-server --requirepass {{ nextcloud_secrets.redis_password
}}
tmpfs:
- /var/lib/redis
networks:
- nextcloud
cron:
image: nextcloud:{{ services.nextcloud.version }}
restart: unless-stopped
entrypoint: /cron.sh
networks:
- nextcloud
volumes:
- '{{ services.nextcloud.volume_folder }}/app:/var/www/html'
depends_on:
- postgres
- redis
app:
image: nextcloud:{{ services.nextcloud.version }}
restart: unless-stopped
networks:
- nextcloud
- postfix
- external_services
volumes:
- '{{ services.nextcloud.volume_folder }}/app:/var/www/html'
environment:
VIRTUAL_HOST: '{{ services.nextcloud.domain }}'
LETSENCRYPT_HOST: '{{ services.nextcloud.domain }}'
LETSENCRYPT_EMAIL: '{{ letsencrypt_email }}'
POSTGRES_HOST: postgres
POSTGRES_DB: nextcloud
POSTGRES_USER: nextcloud
POSTGRES_PASSWORD: '{{ postgres_passwords.nextcloud }}'
REDIS_HOST: redis
REDIS_HOST_PASSWORD: '{{ nextcloud_secrets.redis_password }}'
depends_on:
- postgres
- redis
networks:
nextcloud:
postfix:
external: true
external_services:
external: true