Fix Docker/nätverk mot faktisk server: bridge 172.17.0.2, Gitea, Alpine-mönster

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
Hannes Ahlin
2026-08-22 14:59:25 +02:00
parent d2f70ee2a7
commit b36331b00b
13 changed files with 192 additions and 66 deletions
+4 -2
View File
@@ -27,9 +27,11 @@ Du är en **flödesagent**. Du skapar och modifierar Node-RED-flöden, inte Libr
| CODE | container `code`, `127.0.0.1:9980`, aliasgroup `https://cloud.hannesahlin.se:443` |
| Befintlig Node-RED | `nextcloud-node-red` `:1880` (OCS-noder) |
| Ny sidecar | `nextcloud-collabora-nodered` `:1881` |
| Intern CODE-URL från sidecar | `http://host.docker.internal:9980` |
| Intern CODE-URL från sidecar | `http://172.17.0.2:9980` (Docker bridge, container `code`) |
| Auth | Basic + Nextcloud app-lösenord, header `OCS-APIRequest: true` |
Se [INFRASTRUCTURE.md](INFRASTRUCTURE.md) för container- och nätverkskartor.
---
## 3. Kartan Nextcloud → Collabora
@@ -139,7 +141,7 @@ HTML i `payload` → `htmlToOffice` format docx eller pdf. Använd mall via conv
| Symptom | Orsak | Åtgärd |
|---------|-------|--------|
| ECONNREFUSED :9980 | Fel Docker-nät | host.docker.internal, 172.17.0.2 eller network_mode host |
| ECONNREFUSED :9980 | Sidecar inte på bridge / fel IP | Använd `http://172.17.0.2:9980`, kontrollera `docker network inspect bridge` |
| Tomt convert-svar | CODE storage / fel URL | Anropa intern 9980, inte publik host |
| WebDAV 401 | App-lösen / user | Nytt app-lösen, samma uid som sökvägen |
| WebDAV 404 | Fel sökväg | Leading slash, rätt folder, URL-encode segment |
+58
View File
@@ -0,0 +1,58 @@
# Infrastruktur — cloud.hannesahlin.se (192.168.1.26)
Verifierad 2026-08-22. Sidecar ska passa in utan att röra befintliga tjänster.
## Containers
| Container | Image | Port | Nätverk | IP |
|-----------|-------|------|---------|-----|
| `code` | collabora/code:latest (26.04.3.1) | 127.0.0.1:9980 | `bridge` | 172.17.0.2 |
| `nextcloud-node-red` | nextcloud-node-red:latest | 0.0.0.0:1880 | `nextcloud-node-red_odds_network` | 172.18.0.3 |
| `nextcloud-collabora-nodered` | nextcloud-collabora-nodered:latest | 0.0.0.0:1881 | `collab_default` + **`bridge`** | (dynamisk) |
| `gitea_server` | gitea/gitea:latest | 127.0.0.1:3000 | (egen) | — |
| `odds-postgres` | postgres:16-alpine | 5433 | odds_network | — |
## Viktigt om nätverk
- **CODE** ligger på Docker **`bridge`** (172.17.0.0/16), inte på `odds_network`.
- **Sidecar** ansluter till **`bridge`** för att nå CODE på `http://172.17.0.2:9980`.
- `127.0.0.1:9980` på host når CODE, men **inte** från en container utan bridge/host-mode.
- `host.docker.internal` är opålitligt på Linux — använd **172.17.0.2**.
- **nextcloud-node-red** (:1880) ska **inte** flyttas till bridge; den stannar på odds_network.
## Nextcloud
- URL: https://cloud.hannesahlin.se
- Host: 192.168.1.26, `/var/www/nextcloud`
- Sidecar: `extra_hosts: cloud.hannesahlin.se:192.168.1.26`, `verifyTls: false` tills cert i container
## CODE
- `aliasgroup1=https://cloud.hannesahlin.se:443`
- Starta **ingen** ny CODE-container
- REST: `/cool/convert-to`, `/cool/extract-document-structure`, `/cool/transform-document-structure`
- WOPI discovery: `/hosting/discovery`, `/hosting/capabilities`
## Git (Gitea)
- https://kode.hannesahlin.se/
- SSH: port 2222 på host
- Repo-förslag: `nextcloud-collabora-nodered`
## Kataloger på host
```
/home/ncadmin/
├── nextcloud-node-red/ # :1880 — orört
├── nextcloud-collabora-nodered/ # :1881 — detta paket
├── n3wkode/ # Gitea compose
├── odds-scraper/ # ignoreras
└── nodered-embed/
```
## Collabora SDK (referens)
- [Conversion API](https://sdk.collaboraonline.com/docs/conversion_api.html)
- [Extract/Transform API](https://sdk.collaboraonline.com/docs/extract_transform_api.html)
- [Linking API](https://sdk.collaboraonline.com/docs/linking_api.html)
- postMessage: webbläsare/iframe — **inte** Node-RED