From 76f97ba0c430f1fd5f0465bf78149149d27c468d Mon Sep 17 00:00:00 2001 From: Roman Perekhod Date: Mon, 19 Feb 2024 09:05:40 +0100 Subject: [PATCH] fix the docker-compose wopi --- .../unreleased/fix-docker-compose-wopi.md | 6 ++++++ .../entrypoint-override.sh | 19 +++++++++++++++++++ .../examples/ocis_wopi/docker-compose.yml | 9 +++++++++ 3 files changed, 34 insertions(+) create mode 100644 changelog/unreleased/fix-docker-compose-wopi.md create mode 100755 deployments/examples/ocis_wopi/config/ocis-appprovider-collabora/entrypoint-override.sh diff --git a/changelog/unreleased/fix-docker-compose-wopi.md b/changelog/unreleased/fix-docker-compose-wopi.md new file mode 100644 index 0000000000..1dc59481f6 --- /dev/null +++ b/changelog/unreleased/fix-docker-compose-wopi.md @@ -0,0 +1,6 @@ +Bugfix: Fix the docker-compose wopi + +We fixed an issue when Collabora is not available time by time after running the docker-compose wopi deployment + +https://github.com/owncloud/ocis/pull/8483 +https://github.com/owncloud/ocis/issues/8474 diff --git a/deployments/examples/ocis_wopi/config/ocis-appprovider-collabora/entrypoint-override.sh b/deployments/examples/ocis_wopi/config/ocis-appprovider-collabora/entrypoint-override.sh new file mode 100755 index 0000000000..ebf446c9b3 --- /dev/null +++ b/deployments/examples/ocis_wopi/config/ocis-appprovider-collabora/entrypoint-override.sh @@ -0,0 +1,19 @@ +#!/bin/sh +set -e + +apk add curl + +#TODO: app driver itself should try again until Collabora is up... + +retries=10 +while [[ $retries -gt 0 ]]; do + if curl --silent --show-error --fail http://collabora:9980/hosting/discovery > /dev/null; then + ocis app-provider server + else + echo "Collabora is not yet available, trying again in 10 seconds" + sleep 10 + retries=$((retries - 1)) + fi +done +echo 'Collabora was not available after 100 seconds' +exit 1 diff --git a/deployments/examples/ocis_wopi/docker-compose.yml b/deployments/examples/ocis_wopi/docker-compose.yml index f9ce508b48..02bf4a0a82 100644 --- a/deployments/examples/ocis_wopi/docker-compose.yml +++ b/deployments/examples/ocis_wopi/docker-compose.yml @@ -110,6 +110,10 @@ services: image: owncloud/ocis:${OCIS_DOCKER_TAG:-latest} networks: ocis-net: + user: "0" # needed for apk add in entrypoint script + entrypoint: + - /bin/sh + - /entrypoint-override.sh command: app-provider server environment: # use the internal service name of the gateway @@ -129,10 +133,13 @@ services: # share the registry with the ocis container MICRO_REGISTRY_ADDRESS: ocis:9233 volumes: + - ./config/ocis-appprovider-collabora/entrypoint-override.sh:/entrypoint-override.sh - ocis-config:/etc/ocis logging: driver: ${LOG_DRIVER:-local} restart: always + depends_on: + - ocis ocis-appprovider-onlyoffice: image: owncloud/ocis:${OCIS_DOCKER_TAG:-latest} @@ -166,6 +173,8 @@ services: logging: driver: ${LOG_DRIVER:-local} restart: always + depends_on: + - ocis wopiserver: image: cs3org/wopiserver:${WOPISERVER_DOCKER_TAG:-v10.3.0}