1
0
mirror of https://github.com/owncloud/ocis.git synced 2026-10-23 23:29:02 +03:00
Files
ocis/.gitignore
Lukas Hirt a3601009ac fix(deployments): support Collabora Online 26.x in ocis_full example (#12794)
* fix(deployments): support Collabora Online 26.x in ocis_full example

collabora/code 26.x dropped the shell (no /bin/bash, no /bin/sh) and the
coolconfig helper the ocis_full example relied on to start the container
and generate its WOPI proof key, so the deployment failed to start and,
once patched to start, would reject every document open with a 500 since
the collaboration service enforces WOPI proof-key verification by default.

Drop the custom bash entrypoint (the image's default entrypoint already
honors extra_params/username/password via --use-env-vars), replace the
bash-based healthcheck with the built-in "coolwsd --probe", and add a
one-shot init container that generates and persists the WOPI proof key
on the host before Collabora starts.

Signed-off-by: Lukas Hirt <info@hirt.cz>

* fix(deployments): self-heal a bad WOPI proof key in ocis_full example

The collabora-proof-key-init container only checked "does /keys/proof_key
exist" before skipping generation. If the collabora service's single-file
bind mount of that path ever won the race against the init container (e.g.
on the very first `docker compose up`, or after an interrupted run), Docker
silently created a directory there instead of a file, which then persisted
across restarts and made coolwsd fail to load the proof key with an
EVPPKey::loadKey DECODER error, breaking WOPI CheckFileInfo for good.

Validate any existing proof_key with `openssl rsa -check` and remove it
before regenerating if it's missing, not a regular file, or invalid, so a
bad state (directory, truncated write, corrupt key) heals itself on the
next start instead of requiring a manual `rm -rf` of the generated config.

Signed-off-by: Lukas Hirt <info@hirt.cz>

---------

Signed-off-by: Lukas Hirt <info@hirt.cz>
2026-08-14 08:42:35 +02:00

69 lines
1014 B
Plaintext

# coverage reports
*/coverage.out
services/*/coverage.out
# unit test reports
*/checkstyle.xml
services/*/checkstyle.xml
# nodejs / yarn
*/package-lock.json
node_modules/
yarn-error.log
yarn.lock
.pnpm-store/
# build artifacts
*/bin
services/*/bin
/ocis/dist/
services/*/assets
ocis/ocis
ocis/cmd/ocis/__debug_bin*
ocis/cmd/ocis/config/
# docs
/hugo
/docs/services/*/_index.md
# IDEs
.idea
# Visual Studio Code
.vscode
!.vscode/launch-example.json
# Composer - used for API acceptance tests
composer.lock
vendor-bin/**/vendor
vendor-bin/**/composer.lock
vendor-php
# API acceptance tests - auto-generated files
.php-cs-fixer.cache
# QA activity reports
tests/qa-activity-report/reports/
**/l10n/template.pot
# protogen autogenerated
protogen/buf.sha1.lock
# third-party-licenses
/third-party-licenses
# misc
/tmp
go.work
go.work.sum
.env
.envrc
# generated secrets for deployment examples (e.g. Collabora WOPI proof key)
deployments/examples/*/config/collabora/
CLAUDE.md
.claude/
GEMINI.md
.agents/