update readme install

This commit is contained in:
larssand
2026-08-30 22:04:49 +02:00
parent 5ed193cdeb
commit c2bfa97d30
3 changed files with 509 additions and 56 deletions

View File

@@ -8,6 +8,45 @@ RC timing app med sponsor-eventflöde (delade bilar/transpondrar mellan olika he
- Säkerhets- och prestandaaudit: `docs/security-performance-audit.md`
- Primär engelsk README: `README.md`
## Snabbinstallation På Windows 11
Öppna **PowerShell** på den nya Windows-datorn och följ stegen nedan.
1. Kontrollera om Git är installerat:
```powershell
git --version
```
2. Om `git` inte känns igen installerar du det och öppnar sedan PowerShell på nytt:
```powershell
winget install --id Git.Git --exact --source winget
```
3. Hämta RC RaceCore och gå till projektmappen:
```powershell
Set-Location $HOME
git clone https://git.dio.nu/Public/Live_RC.git Live_RC
Set-Location .\Live_RC
```
4. Kör hela installationen. Den installerar/kontrollerar Node.js, installerar npm-dependencies, verifierar SQLite och startar servern i bakgrunden:
```powershell
.\windows\install.bat
```
5. Kontrollera servern och öppna `http://localhost:8081`:
```powershell
npm.cmd run status
Invoke-RestMethod -Uri "http://127.0.0.1:8081/api/health"
```
Om `winget` saknas installerar du [Git för Windows](https://git-scm.com/download/win). Repot kan även hämtas som ZIP utan Git. Se den kompletta delen [Installation](#installation) för ZIP-installation, LAN-åtkomst, uppdateringar och felsökning.
## Skärmbilder
Aktuella layouter för racedrift, livevisning, träning och systemkonfiguration. Klicka på en bild för att öppna den i full upplösning.
@@ -402,46 +441,212 @@ Praktiskt exempel:
- Nuvarande systemröst och passing-blipp behålls som offline-fallback.
- Uppladdade eller förinspelade WAV/MP3-filer kan användas för fasta start- och målmeddelanden.
## Windows installation
Använd 64-bitars Windows 11 och Node.js 22 eller 24 LTS. Enklaste installationen är:
## Installation
1. Klona eller packa upp hela repot, helst till `C:\\Live_RC`.
2. Dubbelklicka på `windows\\install.bat`.
3. Installationen kör `npm.cmd restart` och lämnar backend igång.
4. Öppna `http://localhost:8081`.
RC RaceCore körs på 64-bitars Windows 11 och Linux. Använd Node.js 22 eller 24 LTS och npm 10 eller senare. Repot innehåller `package-lock.json`, så använd `npm ci` i stället för `npm install` för en reproducerbar installation.
Installationsskriptet kan installera Node.js LTS med `winget`, kör en låst dependency-installation med `npm.cmd ci`, verifierar SQLite/Express och kontrollerar bundlad AMMC. Komplett guide och felsökning: [`windows/README.md`](windows/README.md).
### Windows 11 - ny dator
#### 1. Installera Git
Öppna PowerShell och kontrollera om Git finns:
```powershell
git --version
```
Om Windows svarar att `git` inte känns igen installerar du Git med Windows Package Manager:
```powershell
winget install --id Git.Git --exact --source winget
```
Stäng och öppna PowerShell efter installationen och kör sedan `git --version` igen. Om `winget` saknas kan Git för Windows installeras från [git-scm.com](https://git-scm.com/download/win).
#### 2. Hämta RC RaceCore
Klona det publika repot från ett vanligt PowerShell-fönster:
```powershell
Set-Location $HOME
git clone https://git.dio.nu/Public/Live_RC.git Live_RC
Set-Location .\Live_RC
```
Skriv den rena URL:en exakt som ovan. Klistra inte in Markdown-format som `[https://...](https://...)` i PowerShell.
Om du inte vill installera Git öppnar du [det publika repot](https://git.dio.nu/Public/Live_RC), laddar ner ZIP-arkivet och packar upp hela arkivet. Kontrollera att `package.json`, `server.js`, `src\` och `windows\` ligger i samma projektmapp.
#### 3. Kör Windows-installationen
Från projektmappen:
```powershell
.\windows\install.bat
```
Du kan även dubbelklicka på `windows\install.bat` i Utforskaren. Installationen:
- installerar Node.js LTS via `winget` om Node saknas eller har fel version
- installerar/kontrollerar Microsoft Visual C++ Runtime som AMMC använder
- kör `npm.cmd ci` med låsta dependency-versioner
- verifierar Express, SQLite och bundlade AMMC-filer
- skapar `data\` och `logs\`
- kör `npm.cmd restart` och lämnar RC RaceCore igång i bakgrunden
Om installationen inte kan installera Node automatiskt installerar du Node.js 22 eller 24 LTS från [nodejs.org](https://nodejs.org/en/download), öppnar PowerShell igen och kör installationen på nytt.
#### 4. Verifiera och öppna sidan
```powershell
npm.cmd run status
Invoke-RestMethod -Uri "http://127.0.0.1:8081/api/health"
```
Öppna:
```text
http://localhost:8081
```
För att öppna RC RaceCore från en annan dator på race-nätverket kör du `ipconfig` på servern och använder:
```text
http://<windows-server-ip>:8081
```
Använd `npm.cmd` i PowerShell. Det undviker det vanliga felet `npm.ps1 cannot be loaded because running scripts is disabled`. Vanliga `npm` fungerar normalt i Kommandotolken.
#### Manuell Windows-installation
Om du inte använder `install.bat`:
```powershell
node --version
npm.cmd --version
npm.cmd ci
npm.cmd run verify
npm.cmd start
```
Använd inte `npm.cmd ci --ignore-scripts`. Den inbyggda SQLite-modulen behöver sitt installationsskript.
### Linux - Ubuntu/Debian
#### 1. Installera Git och grundverktyg
```bash
sudo apt update
sudo apt install -y git curl build-essential
git --version
```
#### 2. Installera Node.js 22 LTS vid behov
Kontrollera installerad version:
```bash
node --version
npm --version
```
Om Node saknas eller är äldre än version 22 installerar du Node.js 22 via NodeSource:
```bash
curl -fsSL https://deb.nodesource.com/setup_22.x | sudo -E bash -
sudo apt install -y nodejs
node --version
npm --version
```
Node.js 22 eller 24 LTS rekommenderas. Node.js 18 och 20 stöds inte av nuvarande native SQLite-dependency.
#### 3. Klona, installera och starta
```bash
mkdir -p ~/git
cd ~/git
git clone https://git.dio.nu/Public/Live_RC.git Live_RC
cd Live_RC
npm ci
npm run verify
chmod +x AMMC/linux_x86-64/ammc-amb
npm start
npm run status
curl http://127.0.0.1:8081/api/health
```
`npm start` kör RC RaceCore i bakgrunden. Öppna `http://localhost:8081`, eller hitta Linux-serverns adress med `hostname -I` och öppna `http://<linux-server-ip>:8081` från en annan dator.
Om den bundlade Linux-versionen av AMMC rapporterar att en `GLIBC`-version saknas behöver du en AMMC-binär som är byggd för hostens Linuxdistribution. Byt inte operativsystemets glibc manuellt.
### Driftkommandon
Windows PowerShell:
Vanliga kommandon:
```powershell
npm.cmd start
npm.cmd stop
npm.cmd restart
npm.cmd run status
npm.cmd restart
npm.cmd stop
npm.cmd run start:fg
```
- `npm.cmd start` startar RC RaceCore i bakgrunden
- `npm.cmd stop` stoppar processen via `data/server.pid`
- `npm.cmd restart` startar om backend
- `npm.cmd run status` visar om backend kör
- `npm.cmd run start:fg` kör i foreground för felsökning
Linux:
### Windows scripts (bakgrundsstart)
Det finns färdiga `.bat`-filer i mappen `windows/`:
- `windows\\install.bat` installerar dependencies och kör `npm.cmd restart`
- `windows\\start_ammc.bat` startar AMMC i bakgrunden
- `windows\\start_backend.bat` startar `npm.cmd start` i bakgrunden
- `windows\\restart_backend.bat` kör `npm.cmd restart` efter uppdateringar
- `windows\\start_all.bat` startar både AMMC + backend och öppnar webbsidan
- `windows\\stop_all.bat` stoppar den hanterade backendprocessen och `ammc-amb.exe`
```bash
npm start
npm run status
npm restart
npm stop
npm run start:fg
```
Backendloggar:
- `logs\\server.out.log`
- `logs\\server.err.log`
- `start` kör backend i bakgrunden
- `status` visar om PID-filen i `data/server.pid` motsvarar en aktiv process
- `restart` laddar om ändringar i backend
- `stop` stoppar den hanterade processen
- `start:fg` kör i terminalen och visar startfel direkt
- stdout skrivs till `logs/server.out.log`
- stderr skrivs till `logs/server.err.log`
- SQLite-data lagras i `data/rc_timing.sqlite`
SQLite-filen skapas automatiskt här:
- `data\\rc_timing.sqlite`
### Windows hjälpskript
- `windows\install.bat`: installerar dependencies, verifierar och startar om
- `windows\start_backend.bat`: startar backend i bakgrunden
- `windows\restart_backend.bat`: startar om efter kopierad eller hämtad uppdatering
- `windows\start_ammc.bat`: startar bundlad AMMC manuellt
- `windows\start_all.bat`: startar AMMC och backend samt öppnar webbläsaren
- `windows\stop_all.bat`: stoppar backend och `ammc-amb.exe`
### Uppdatera utan att förlora data
SQLite-databasen och lokal konfiguration ligger i `data/`. Radera eller ersätt aldrig den katalogen vid en uppdatering.
Windows:
```powershell
npm.cmd stop
git pull --ff-only
npm.cmd ci
npm.cmd run verify
npm.cmd restart
npm.cmd run status
```
Linux:
```bash
npm stop
git pull --ff-only
npm ci
npm run verify
npm restart
npm run status
```
Om installationen kommer från ett ZIP-arkiv i stället för Git säkerhetskopierar du `data/`, packar upp de nya programfilerna, återställer/behåller befintlig `data/`, kör `npm ci` och startar om. Kopiera aldrig `node_modules/` mellan Windows och Linux.
## Koppla mot AMMC
Det finns nu två sätt: