---
name: Nextcloud - Talk
author: Danilo Jesic <danilo@green-coding.berlin>
version: 1
description: Installs the official Nextcloud image and starts a Talk conversation. Uses a playwright script running Chromium to create an admin account, install the recommended apps and then create a Talk conversation where guest users will send each other random text.
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_talk.py /tmp/nextcloud_talk.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
    container: gcb-playwright
    commands:
      - type: console
        command: python3 /tmp/nextcloud_install.py
        note: Installing Nextcloud
        read-notes-stdout: true
        log-stdout: true
        log-stderr: true
  - name: Talk conversation
    container: gcb-playwright
    commands:
      - type: console
        command: python3 /tmp/nextcloud_talk.py
        note: Starting conversation
        read-notes-stdout: true
        log-stdout: true
        log-stderr: true