Files
nextcloud-collabora-nodered/docs/INFRASTRUCTURE.md
T
dev 6e02c2d31e Fix assets:create 404: form-urlencoded mot /apps/richdocuments/assets, intern CODE över HTTP
- lib/bridge.js createAssetLink: POST <nextcloudUrl>/apps/richdocuments/assets
  (utan index.php), Content-Type application/x-www-form-urlencoded med body
  path=<urlencoded>, path trimmad utan ledande slash (userFolder->get relativt
  filrot), OCS-APIRequest borttagen. Fel inkluderar statusCode + svarskropp.
- Intern collaboraUrl är HTTP: http://code:9980 (fallback http://<bridge-ip>:9980)
  i nc-collab-config default, .env.example, example-flows.json, docker-compose,
  install.sh och integrate-into-nodered.sh resolve_collabora_url.
- Publik WOPI-URL dokumenterad som https://docs.domain.name.
- package-lock.json för deterministisk form-data-install i Docker.
2026-08-22 21:27:02 +02:00

1.9 KiB

Infrastructure

Verified layout for integrate mode (nodes on existing :1880, not sidecar).

Containers

Container Image Port Network Notes
nextcloud-node-red custom 1880 odds_network (+ bridge for CODE) Existing Node-RED
code collabora/code 127.0.0.1:9980 bridge Collabora CODE
odds-postgres postgres:16 5433→5432 odds_network Odds scraper DB — do not touch

Sidecar nextcloud-collabora-nodered on :1881 is not used — integrate mode patches the :1880 instance.

Networking

  • CODE runs on Docker bridge (typically 172.17.0.x), not on odds_network.
  • After docker compose up, connect Node-RED to bridge:
    docker network connect bridge nextcloud-node-red
  • Host 127.0.0.1:9980 reaches CODE from the host, not from containers without bridge.
  • On Linux, prefer detected bridge IP over host.docker.internal.
  • nextcloud-node-red stays on odds_network; bridge is an extra attachment for CODE only.

Install paths (example host)

/home/ncdeploy/
├── nextcloud-node-red/              # :1880 — patched by integrate
│   └── nodes/nextcloud-collabora/   # copied package (lib/ + nodes/)
└── nextcloud-collabora-nodered/     # this repo

Public vs internal URLs

Use URL
Nextcloud API / WebDAV https://cloud.example.com
CODE from Node-RED container (intern) http://code:9980 — plain HTTP; fallback http://<bridge-ip>:9980 efter docker network connect bridge nextcloud-node-red
Browser editor / WOPI (publik) collaboraPublicUrl — t.ex. https://docs.domain.name (CODE via reverse proxy)

Intern CODE lyssnar på HTTP — aldrig HTTPS mot bridge-IP. Publik åtkomst via reverse proxy.

Gitea (optional)