# vim: ft=yaml.ansible --- - name: upload vhost config for cloud.data.coop copy: src: configs/vhost/nextcloud dest: "{{ services.nginx_proxy.volume_folder }}/vhost/{{ services.nextcloud.domain }}" notify: "restart nginx" - name: setup nextcloud containers docker_compose: project_name: "nextcloud" pull: "yes" definition: services: postgres: image: "postgres:{{ services.nextcloud.postgres_version }}" 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:{{ services.nextcloud.redis_version }}" 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