# 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) | `https://code:9980` — intern **HTTPS** (self-signed, `ssl.enable=true`), `verifyTls=false`; `http://code:9980` failar. Fallback `https://: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å HTTPS med self-signed-cert — Node-RED-noderna använder därför `https://code:9980` med `verifyTls=false`. Publik åtkomst via reverse proxy. ## Gitea (optional) - https://git.domain.name/your-user/nextcloud-collabora-nodered - SSH git on port 2222 if configured