Flöden (flows/example-flows.json): - Kedjor som skapar det de behöver: png→asset, templates:list→create→ extract/fill/transform/extractFields, create A+B→compareVersionsPdf - Defaults /Dokument/Example.md, /Dokument/exempel.odt, dest /Dokument/OfficeOut/, mall-id 230 (Invoice.odt via templates:list) - Ingen referens till /Mallar/avtal.docx, avtal-ny.docx eller logotyp.png - Debug-noder med tostatus=false (undviker TypeError-length i status) Noder: - nc-office templates:create: skickar path+template (richdocuments- kontrakt), ärver extension från mallen, MKCOL av mapp, idempotent (återanvänd existerande fil i stället för 'namn (2)') — fixar OCS 400 - nc-office document:direct: fileId camelCase (+fileid), 996-fel inkluderar nu OCS-body i felmeddelandet - collabora-wopi discovery: rewrite urlsrc/favIconUrl till collaboraPublicUrl så iframe inte går mot CODE bridge-IP - webdavGet/PROPFIND 404: feltext med föreslagen åtgärd - resolveDestNcPath: tvingar rätt filändelse (.pdf/.png/…) - Nytt: listUserExamples (PROPFIND /Dokument+/Documents) + bridge-op pickDemoSource; scripts/discover-examples.js Verifierat mot cloud.domain.name (your-user): capabilities, discovery- rewrite, pdf/png, asset-länk, mall-skapa+extract/fill/transform, compare A/B→pdf, document:direct, htmlToOffice — ALL PASS.
nextcloud-collabora-nodered
Collabora / Nextcloud Office nodes for your existing nextcloud-node-red on port 1880.
Does not create a new Node-RED container.
Default: integrate (not sidecar)
INSTALL_MODE=integrate (default) patches and rebuilds the existing nextcloud-node-red on :1880.
No extra container, no port 1881. Sidecar only if you explicitly set INSTALL_MODE=sidecar.
Quick install
curl -fsSL https://git.domain.name/your-user/nextcloud-collabora-nodered/raw/branch/main/bootstrap-install.sh | sudo -u ncdeploy bash
That script:
- Clones this repo
- Copies nodes into your
nextcloud-node-redtree - Patches
Dockerfile+entrypoint.sh - Rebuilds the same image and restarts the container
- Connects Node-RED to Docker
bridgeso CODE is reachable
Update nodes
cd /path/to/nextcloud-collabora-nodered
git pull
./install.sh
Manual integration
NODERED_DIR=/path/to/nextcloud-node-red ./scripts/integrate-into-nodered.sh
Sidecar :1881 (not recommended)
Only if you explicitly want a separate instance:
INSTALL_MODE=sidecar docker compose --profile sidecar up -d --build
Nodes
Palette: nextcloud collabora — six nodes in the same purple, all wired to nc-collab-config (gear icon, not a flow node).
nc-collab-config · collabora-bridge · nc-office · collabora-convert · collabora-extract · collabora-transform · collabora-wopi
Collabora URLs — intern vs publik
- Intern
collaboraUrl(Node-RED → CODE): HTTPS, self-signed —https://code:9980när CODE delar nätverk med Node-RED (ssl.enable=true;http://code:9980failar), eller fallbackhttps://<bridge-ip>:9980(t.ex.172.17.0.x) efterdocker network connect bridge nextcloud-node-red. SättverifyTls=falsei config-noden (self-signed internt). - Publik
collaboraPublicUrl(browser/WOPI):https://docs.domain.name— CODE via reverse proxy.
Full guide and examples: docs/NODES.md · import flows/example-flows.json
Install on any Nextcloud VM
Copy .env.example → .env and set at least NEXTCLOUD_URL. The rest is auto-detected:
| Variable | Default / auto |
|---|---|
NODERED_DIR |
compose label or common paths |
CODE_CONTAINER |
code |
COLLABORA_IP |
bridge IP via docker inspect |
NODERED_CONTAINER |
nextcloud-node-red |
NODERED_PORT |
1880 |
cp .env.example .env # set NEXTCLOUD_URL for your VM
git pull
./install.sh # needs root/sudo for docker compose
Repo
https://git.domain.name/your-user/nextcloud-collabora-nodered
Documentation
- docs/NODES.md — node reference and examples
- docs/INFRASTRUCTURE.md — server layout