---
name: Nextcloud - Docs
author: Danilo Jesic <danilo@green-coding.berlin>
version: 1
description: Installs the official Nextcloud image and collaborates on a document
compose-file: !include compose.yml

services:
  gcb-playwright:
    image: greencoding/gcb_playwright
    setup-commands:
      - cp /tmp/repo/nextcloud_install.py /tmp/nextcloud_install.py
      - cp /tmp/repo/nextcloud_create_user.py /tmp/nextcloud_create_user.py
      - cp /tmp/repo/nextcloud_create_doc_and_share.py /tmp/nextcloud_create_doc_and_share.py
      - cp /tmp/repo/nextcloud_docs_collaboration.py /tmp/nextcloud_docs_collaboration.py

    networks:
      - nextcloud-setup-network
    # volumes:
    #   - /tmp/.X11-unix:/tmp/.X11-unix
    # environment:
    #   DISPLAY: ":0"

  # We don't need the volumes are we don't want to persist any data
  db:
    volumes: []
    networks:
      - nextcloud-setup-network

  nc:
    volumes: []
    networks:
      - nextcloud-setup-network

networks:
  nextcloud-setup-network:

flow:
  - name: Install Nextcloud and collaborate on document
    container: gcb-playwright
    commands:
      - type: console
        command: python3 /tmp/nextcloud_install.py
        note: Installing Nextcloud
        read-notes-stdout: true
      - type: console
        command: python3 /tmp/nextcloud_create_user.py
        note: Create user
        read-notes-stdout: true
      - type: console
        command: python3 /tmp/nextcloud_create_doc_and_share.py
        note: Create document and share
        read-notes-stdout: true
      - type: console
        command: python3 /tmp/nextcloud_docs_collaboration.py
        note: dev
        read-notes-stdout: true