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}