75 lines
2.2 KiB
YAML
75 lines
2.2 KiB
YAML
---
|
|
- name: upload vhost config for cloud.data.coop
|
|
template:
|
|
src: files/configs/nextcloud/vhost
|
|
dest: "{{ nginx.volume_folder }}/vhost/{{ nextcloud.domain }}"
|
|
notify: "restart nginx"
|
|
|
|
- name: setup nextcloud containers
|
|
docker_compose:
|
|
project_name: "nextcloud"
|
|
pull: "yes"
|
|
definition:
|
|
services:
|
|
postgres:
|
|
image: "postgres:10"
|
|
restart: "unless-stopped"
|
|
networks:
|
|
- "nextcloud"
|
|
volumes:
|
|
- "{{ 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:25-apache"
|
|
restart: "unless-stopped"
|
|
entrypoint: "/cron.sh"
|
|
networks:
|
|
- "nextcloud"
|
|
volumes:
|
|
- "{{ nextcloud.volume_folder }}/app:/var/www/html"
|
|
depends_on:
|
|
- "postgres"
|
|
- "redis"
|
|
|
|
app:
|
|
image: "nextcloud:25-apache"
|
|
restart: "unless-stopped"
|
|
networks:
|
|
- "nextcloud"
|
|
- "external_services"
|
|
volumes:
|
|
- "{{ nextcloud.volume_folder }}/app:/var/www/html"
|
|
environment:
|
|
VIRTUAL_HOST: "{{ nextcloud.domain }}"
|
|
LETSENCRYPT_HOST: "{{ 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
|