Docker Config Backup c54d3a6792 feat: align keyboard LocalID to GlobalID and preserve server credentials
Two operator requirements for MBeg keyboards and server connections:

1. align_keyboard_local_ids(): on every keyboard interface under
   Clients/GeViIO/GeViIO_01, set each video input/output LocalID equal to
   its GlobalID so operators can address cameras/monitors by global id.
   Virtual decoders/servers under GeViIO_Virtual keep their sequential
   local ids. Runs after prune in /api/set/export and /api/batch/build.

2. preserve_server_credentials(): server User/Password are entered by hand
   and must survive re-importing the server list from Excel. Matched by
   alias, an existing non-empty credential overrides the imported value.
   Applied to G-Core and GeViScope servers in /api/batch/build.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-07 10:32:18 +02:00

GeViSetWEB

Lightweight single-user web tool for editing GeViSet .set files with fast tables.

Features

  • Parse .set files into editable tables (servers + action mappings)
  • Edit, add, and delete G-Core and GeViScope servers
  • Edit and extend action mappings
  • Import new entries from Excel templates
  • Export back to .set

Layout

  • backend/ FastAPI service
  • frontend/ React + Vite UI
  • samples/ Excel templates copied from the original workspace

Backend setup

cd C:/DEV/COPILOT_codex/GeViSetWEB/backend
python -m venv .venv
.\.venv\Scripts\activate
pip install -r requirements.txt
uvicorn app.main:app --reload --port 8002

Frontend setup

cd C:/DEV/COPILOT_codex/GeViSetWEB/frontend
npm install
npm run dev

The UI expects the API at http://localhost:8002 by default. To override, set VITE_API_BASE in a .env file.

Docker

Build the image:

docker build -t gevisetweb .

Run:

docker run --rm -p 8002:8002 gevisetweb

Open:

http://<host>:8002

Docker Compose

docker compose up --build

Notes

  • The action mapping editor edits output actions (name/action/server) for speed.
  • New action mappings imported from Excel use a template from the first mapping rule.
Description
No description provided
Readme 25 MiB
Languages
Python 72.9%
JavaScript 13.9%
CSS 7.5%
TypeScript 5%
Dockerfile 0.5%
Other 0.2%