77 lines
2.3 KiB
YAML
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
|