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

47 lines
1.9 KiB
Markdown

# 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)
- https://git.domain.name/your-user/nextcloud-collabora-nodered
- SSH git on port 2222 if configured