Klient-distribution: självständiga binärer + curl|sh-installer
- daemon: byt node-pty -> @homebridge/node-pty-prebuilt-multiarch (N-API- prebuilds för x64+arm64, ingen kompilering); esbuild-bundle av daemonen - .gitea/workflows/release.yaml: på tag v* bygger pkg båda arkitekturerna på Pi-runnern (utan QEMU — prebuilds för båda finns) och publicerar som Gitea-release-assets via API - install.sh: 'curl -fsSL .../install.sh | sh' — detekterar arch, hämtar rätt binär från senaste releasen, lägger agent-helm i PATH, skapar config.env + valfri systemd-user-service (Arch/Ubuntu) - deploy/client-build/package.json: pkg-config (assets för prebuilds) - DEPLOY.md: klient-installationssektion Verifierat lokalt: pkg-binär (x64, 83 MB) startar, node-pty spawnar pty, ansluter och input/output funkar end-to-end. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -136,6 +136,34 @@ Daemonen dyker upp som en session i web-UI:t. (Kräver att NPM:s Websockets är
|
||||
|
||||
---
|
||||
|
||||
## Klienten (daemon) — installera på en Linux-maskin
|
||||
|
||||
Klienten distribueras som **självständiga binärer** (Node + node-pty inbäddat, inga
|
||||
beroenden på målet) för `linux-x64` och `linux-arm64`, byggda av
|
||||
`.gitea/workflows/release.yaml` och publicerade som **Release-assets** på Gitea.
|
||||
|
||||
**Skapa en release** (bygger båda arkitekturerna på Pi-runnern):
|
||||
```bash
|
||||
git tag v0.1.0 && git push origin v0.1.0
|
||||
# eller: Gitea -> Actions -> release-client -> Run workflow (ange tag)
|
||||
```
|
||||
|
||||
**Installera på valfri Linux-maskin** (Arch, Ubuntu, …) — ett kommando:
|
||||
```bash
|
||||
curl -fsSL https://gitea.brasse-pc.eu/brasse/agent-helm/raw/branch/main/install.sh | sh
|
||||
```
|
||||
Installern detekterar arch, hämtar rätt binär från senaste releasen, lägger
|
||||
`agent-helm` i `/usr/local/bin` (eller `~/.local/bin`), skapar
|
||||
`~/.config/agent-helm/config.env` och en (valfri) systemd-user-service.
|
||||
|
||||
Sätt token + kör:
|
||||
```bash
|
||||
${EDITOR:-nano} ~/.config/agent-helm/config.env # AGENT_HELM_TOKEN, SERVER_URL, AGENT_CMD
|
||||
systemctl --user daemon-reload && systemctl --user enable --now agent-helm
|
||||
# eller direkt: set -a; . ~/.config/agent-helm/config.env; agent-helm
|
||||
```
|
||||
Klienten ansluter till `wss://rcai.brasse-pc.eu` och dyker upp som en session i UI:t.
|
||||
|
||||
## Uppdatera till senaste
|
||||
|
||||
1. `git push master` → runnern bygger + pushar `:latest`.
|
||||
|
||||
11
deploy/client-build/package.json
Normal file
11
deploy/client-build/package.json
Normal file
@@ -0,0 +1,11 @@
|
||||
{
|
||||
"name": "agent-helm-client",
|
||||
"version": "1.0.0",
|
||||
"bin": "daemon.cjs",
|
||||
"pkg": {
|
||||
"assets": [
|
||||
"node_modules/@homebridge/node-pty-prebuilt-multiarch/prebuilds/**/*",
|
||||
"node_modules/@homebridge/node-pty-prebuilt-multiarch/lib/**/*"
|
||||
]
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user