Validado manualmente na VM 106 (2026-07-23) — automatizar no appliance o que foi feito à mão:
Euro Office (fork ONLYOFFICE):
- Container
ghcr.io/euro-office/documentserver:latest (só tag latest — pinar por digest!), -p 127.0.0.1:9900:80, WOPI_ENABLED=true, USE_UNAUTHORIZED_STORAGE=true (self-signed), --add-host <dominio>:host-gateway (container→WOPI via nginx do host)
- opencloud.env:
OC_ADD_RUN_SERVICES=collaboration, COLLABORATION_APP_NAME=Euro-Office, COLLABORATION_APP_PRODUCT=OnlyOffice, COLLABORATION_APP_ADDR=https://office.<dominio>, COLLABORATION_WOPI_SRC=https://<dominio>, COLLABORATION_APP_PROOF_DISABLE=true, COLLABORATION_APP_INSECURE=true
/etc/opencloud/csp.yaml (PROXY_CSP_CONFIG_FILE_LOCATION) com frame-src/img-src do office; /etc/opencloud/app-registry.yaml (OC_APP_REGISTRY_CONFIG_FILE) com Euro-Office como default
- vhost nginx
office.<dominio> → 127.0.0.1:9900 (websockets + X-Forwarded-Proto https) — e default_server explícito no site principal (bug real encontrado: euro-office virou default por ordem alfabética e sequestrou o domínio principal)
- Requer Docker (docker.io + docker-cli — no trixie são pacotes separados) e ~2 GB extra de RAM
web-extensions: unzip por app em $OC_BASE_DATA_PATH/web/assets/apps/<app>/ (manifest.json na raiz) + restart. Instalados: draw-io, json-viewer, unzip, external-sites, calculator, maps, bpmn, pastebin, progress-bars, arcade (todas releases atuais).
Proposta: turnkey-oc office install|status na CLI + inithook opcional perguntando subdomínio do office; extensões via turnkey-oc apps install <app>.
Validação executada: /hosting/discovery 200 (interno+externo), app/list com Euro-Office em todos os formatos MS/ODF, PUT WebDAV + /app/open 200, WOPI CheckFileInfo retornando o arquivo, página do editor 200.
Validado manualmente na VM 106 (2026-07-23) — automatizar no appliance o que foi feito à mão:
Euro Office (fork ONLYOFFICE):
ghcr.io/euro-office/documentserver:latest(só tag latest — pinar por digest!),-p 127.0.0.1:9900:80,WOPI_ENABLED=true,USE_UNAUTHORIZED_STORAGE=true(self-signed),--add-host <dominio>:host-gateway(container→WOPI via nginx do host)OC_ADD_RUN_SERVICES=collaboration,COLLABORATION_APP_NAME=Euro-Office,COLLABORATION_APP_PRODUCT=OnlyOffice,COLLABORATION_APP_ADDR=https://office.<dominio>,COLLABORATION_WOPI_SRC=https://<dominio>,COLLABORATION_APP_PROOF_DISABLE=true,COLLABORATION_APP_INSECURE=true/etc/opencloud/csp.yaml(PROXY_CSP_CONFIG_FILE_LOCATION) com frame-src/img-src do office;/etc/opencloud/app-registry.yaml(OC_APP_REGISTRY_CONFIG_FILE) com Euro-Office como defaultoffice.<dominio>→ 127.0.0.1:9900 (websockets + X-Forwarded-Proto https) — edefault_serverexplícito no site principal (bug real encontrado: euro-office virou default por ordem alfabética e sequestrou o domínio principal)web-extensions: unzip por app em
$OC_BASE_DATA_PATH/web/assets/apps/<app>/(manifest.json na raiz) + restart. Instalados: draw-io, json-viewer, unzip, external-sites, calculator, maps, bpmn, pastebin, progress-bars, arcade (todas releases atuais).Proposta:
turnkey-oc office install|statusna CLI + inithook opcional perguntando subdomínio do office; extensões viaturnkey-oc apps install <app>.Validação executada: /hosting/discovery 200 (interno+externo), app/list com Euro-Office em todos os formatos MS/ODF, PUT WebDAV + /app/open 200, WOPI CheckFileInfo retornando o arquivo, página do editor 200.