0
0
Fork 0
mirror of https://github.com/nextcloud/docker.git synced 2025-07-03 23:44:09 +02:00

Adds a full blue angel run

This commit is contained in:
Didi Hoffmann 2024-11-18 20:34:29 +01:00
parent 1bea442d56
commit c1af42c9db
43 changed files with 9129 additions and 157 deletions

View file

@ -0,0 +1,51 @@
version: '2'
volumes:
nextcloud:
db:
services:
db:
image: mariadb:11.0.2-jammy
restart: always
command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW
#volumes:
# - db:/var/lib/mysql # This is the usual way of starting this service in a container, but we do not need persistent data storage for benchmarking
environment:
- MYSQL_ROOT_PASSWORD=TheGibson
- MYSQL_PASSWORD=TheGibson
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
app:
image: nextcloud:30.0.0-apache
#build: # The build takes currently ~ 30 minutes which is far too long for daily testing
# context: ../29/fpm
# dockerfile: Dockerfile
restart: always
links:
- db
#volumes:
# - nextcloud:/var/www/html # This is the usual way of using nextcloud in a container, but we do not need persistent data storage for benchmarking
environment:
- MYSQL_PASSWORD=TheGibson
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- MYSQL_HOST=db
healthcheck:
test: curl --fail --silent http://nc
interval: "1h" # effectively turns repeated healthchecks during runtime off
start_period: "60s"
start_interval: "1s"
nc:
image: nginx:1.25.1-alpine3.17
restart: always
ports:
- 8080:80
links:
- app
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf:ro
depends_on:
- app

View file

@ -0,0 +1,39 @@
version: '2'
volumes:
nextcloud-data-postgres:
nextcloud-db-postgres:
services:
db:
image: postgres:15.3-alpine3.18
restart: always
volumes:
- nextcloud-db-postgres:/var/lib/postgresql/data
environment:
- POSTGRES_PASSWORD=TheGibson
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
nc:
image: nextcloud:30.0.0-apache
#build: # The build takes currently ~ 30 minutes which is far too long for daily testing
# context: ../29/fpm
# dockerfile: Dockerfile
restart: always
ports:
- 8080:80
links:
- db
volumes:
- nextcloud-data-postgres:/var/www/html
environment:
- POSTGRES_PASSWORD=TheGibson
- POSTGRES_DB=nextcloud
- POSTGRES_USER=nextcloud
- POSTGRES_HOST=db
healthcheck:
test: curl --fail --silent http://nc
interval: "1h" # effectively turns repeated healthchecks during runtime off
start_period: "60s"
start_interval: "1s"

View file

@ -0,0 +1,23 @@
version: '2'
volumes:
nextcloud-data-sqlite:
services:
nc:
image: nextcloud:30.0.0-apache
#build: # The build takes currently ~ 30 minutes which is far too long for daily testing
# context: ../29/fpm
# dockerfile: Dockerfile
restart: always
ports:
- 8080:80
environment:
SQLITE_DATABASE: owncloud2.db
volumes:
- nextcloud-data-sqlite:/var/www/html
healthcheck:
test: curl --fail --silent http://nc
interval: "1h" # effectively turns repeated healthchecks during runtime off
start_period: "60s"
start_interval: "1s"

View file

@ -0,0 +1,28 @@
---
name: Nextcloud - FPM - MariaDB - Event - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud FPM image with a MariaDB and creates a calendar event. Uses a playwright script running Chromium to create an admin account, install the recommended apps and then create an event.
compose-file: !include compose-fpm-mariadb.yml
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Login and create event
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_event.py
note: Creating event
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,31 @@
---
name: Nextcloud - FPM - MariaDB - Talk - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud FPM image with a MariaDB 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-fpm-mariadb.yml
sci:
R_d: Talk message
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Talk conversation
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_talk.py
note: Starting conversation
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,49 @@
---
name: Nextcloud - MariaDB - Docs - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a MariaDB and collaborates on a document. Uses a playwright script running Chromium to create an admin account, install the recommended apps. Then creates a new user, creates a document and shares it. Finally, works on the document adding text from two browsers.
compose-file: !include compose-mariadb.yml
sci:
R_d: collaborative edit
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Create User
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_user.py
note: Create user
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Create doc and share
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_doc_and_share.py
note: Create document and share
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Collaborate
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_docs_collaboration.py
note: dev
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,28 @@
---
name: Nextcloud - MariaDB - Event - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a MariaDB and creates a calendar event. Uses a playwright script running Chromium to create an admin account, install the recommended apps and then create an event.
compose-file: !include compose-mariadb.yml
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Login and create event
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_event.py
note: Creating event
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,31 @@
---
name: Nextcloud - MariaDB - Talk - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a MariaDB 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-mariadb.yml
sci:
R_d: Talk message
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Talk conversation
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_talk.py
note: Starting conversation
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,49 @@
---
name: Nextcloud - Postgres - Docs - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a Postgres and collaborates on a document. Uses a playwright script running Chromium to create an admin account, install the recommended apps. Then creates a new user, creates a document and shares it. Finally, works on the document adding text from two browsers.
compose-file: !include compose-postgres.yml
sci:
R_d: collaborative edit
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Create User
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_user.py
note: Create user
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Create doc and share
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_doc_and_share.py
note: Create document and share
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Collaborate
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_docs_collaboration.py
note: dev
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,50 @@
---
name: Nextcloud - Postgres - Docs - Firefox
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a Postgres and collaborates on a document. Uses a playwright script running Firefox to create an admin account, install the recommended apps. Then creates a new user, creates a document and shares it. Finally, works on the document adding text from two browsers.
compose-file: !include compose-postgres.yml
sci:
R_d: collaborative edit
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
- nextcloud-setup-network
flow:
- name: Create User
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_user.py firefox
note: Create user
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Create doc and share
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_doc_and_share.py firefox
note: Create document and share
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Collaborate
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_docs_collaboration.py firefox
note: dev
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,29 @@
---
name: Nextcloud - Postgres - Event - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a Postgres DB and creates a calendar event. Uses a playwright script running Chromium to create an admin account, install the recommended apps and then create a calendar event.
compose-file: !include compose-postgres.yml
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Login and create event
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_event.py
note: Creating event
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,28 @@
---
name: Nextcloud - Postgres - Event - Firefox
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a Postgres DB and creates a calendar event. Uses a playwright script running Firefox to create an admin account, install the recommended apps and then create a calendar event.
compose-file: !include compose-postgres.yml
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Login and create event
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_event.py firefox
note: Creating event
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,27 @@
---
name: Nextcloud - PostgreSQL - Install - Firefox
author: Arne Tarara <arne@green-coding.io>
description: Installs the official Nextcloud image with a PostgreSQL DB.
compose-file: !include compose-postgres.yml
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Install Nextcloud
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_install.py
note: Installing Nextcloud
read-notes-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,31 @@
---
name: Nextcloud - Postgres - Talk - Chromium
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 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-postgres.yml
sci:
R_d: Talk message
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Talk conversation
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_talk.py
note: Starting conversation
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,31 @@
---
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
sci:
R_d: Talk message
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Talk conversation
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_talk.py firefox
note: Starting conversation
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,49 @@
---
name: Nextcloud - SQLite - Docs - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a SQLite and collaborates on a document. Uses a playwright script running Chromium to create an admin account, install the recommended apps. Then creates a new user, creates a document and shares it. Finally, works on the document adding text from two browsers.
compose-file: !include compose-sqlite.yml
sci:
R_d: collaborative edit
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Create User
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_user.py
note: Create user
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Create doc and share
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_doc_and_share.py
note: Create document and share
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Collaborate
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_docs_collaboration.py
note: dev
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,49 @@
---
name: Nextcloud - SQLite - Docs - Firefox
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a SQLite and collaborates on a document. Uses a playwright script running Firefox to create an admin account, install the recommended apps. Then creates a new user, creates a document and shares it. Finally, works on the document adding text from two browsers.
compose-file: !include compose-sqlite.yml
sci:
R_d: collaborative edit
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Create User
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_user.py firefox
note: Create user
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Create doc and share
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_doc_and_share.py firefox
note: Create document and share
read-notes-stdout: true
log-stdout: true
log-stderr: true
- name: Collaborate
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_docs_collaboration.py firefox
note: dev
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,28 @@
---
name: Nextcloud - SQLite - Event - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a SQLite and creates a calendar event. Uses a playwright script running Chromium to create an admin account, install the recommended apps and then create an event.
compose-file: !include compose-sqlite.yml
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Login and create event
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_event.py
note: Creating event
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,28 @@
---
name: Nextcloud - SQLite - Event - Firefox
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a SQLite and creates a calendar event. Uses a playwright script running Firefox to create an admin account, install the recommended apps and then create an event.
compose-file: !include compose-sqlite.yml
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Login and create event
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_create_event.py firefox
note: Creating event
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,27 @@
---
name: Nextcloud - SQLite - Install - Firefox
author: Arne Tarara <arne@green-coding.io>
description: Installs the official Nextcloud image with a SQLite DB.
compose-file: !include compose-sqlite.yml
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Install Nextcloud
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_install.py
note: Installing Nextcloud
read-notes-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,31 @@
---
name: Nextcloud - SQLite - Talk - Chromium
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a SQLite 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-sqlite.yml
sci:
R_d: Talk message
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Talk conversation
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_talk.py
note: Starting conversation
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true

View file

@ -0,0 +1,31 @@
---
name: Nextcloud - SQLite - Talk - Firefox
author: Danilo Jesic <danilo@green-coding.berlin>
description: Installs the official Nextcloud image with a SQLite 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-sqlite.yml
sci:
R_d: Talk message
services:
gcb-playwright:
image: greencoding/gcb_playwright:v12
depends_on:
nc:
condition: service_healthy
# volumes:
# - /tmp/.X11-unix:/tmp/.X11-unix # for debugging in non-headless mode
environment:
DISPLAY: ":0" # for debugging in non-headless mode
flow:
- name: Talk conversation
container: gcb-playwright
commands:
- type: console
command: python3 /tmp/repo/energy-tests/nextcloud_talk.py firefox
note: Starting conversation
read-notes-stdout: true
read-sci-stdout: true
log-stdout: true
log-stderr: true