---
name: Nextcloud - Postgres - Talk - Firefox
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a Postgres and starts a Talk conversation. Uses a playwright script running Firefox 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-postgres.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 firefox
        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 firefox
        note: Starting conversation
        read-notes-stdout: true
        log-stdout: true
        log-stderr: true