<<<<<<< HEAD # Настройки Рабочие UI, кнопки и горячие клавиши находятся в `local/` либо внешнем `HOCKEY_UI_DATA_DIR`. Root-файлы `ui_builder_draft.json` и `ui_builder_published.json` служат bootstrap для первого запуска. Изменение root-файлов не меняет активный UI. Не удаляйте `local/`, credentials, `editor_security.json` и машинные vMix-настройки. Одинаковое сохранение не создаёт backup; после изменений сохраняется до 40 копий на конфигурацию. Одноразовая миграция истории отмечается служебным JSON-маркером. [Установка, восстановление и очистка](../docs/ADMIN.md). ======= # settings/ Safe files that may be committed to Git: - `ui_builder_draft.json` — bootstrap default for the UI Builder draft. - `ui_builder_published.json` — bootstrap default for the published runtime. - `hockey_api.json` — public Stat2TV endpoint/settings configuration; no password is stored here. Files that must stay local and are ignored by Git: - `local/` — live user UI configuration, buttons, shortcuts and their backups. - `stat2tv_credentials.local.json` — fallback local login/password. - `editor_security.json` — local editor/PIN security data. - `backups/`, `settings.json`, `vmix_json.json`, `vmix_functions.json` — machine/runtime-specific files. ## Persistent buttons and shortcuts (2026.09.26.2) The application reads and writes `local/ui_builder_draft.json` and `local/ui_builder_published.json`. On the first start it copies the existing root configs (or legacy `ui_builder.json`) and UI backups into `local/`. An existing destination is never replaced by a release default. Saves use a temporary file and atomic replacement; the last 40 backups per config are retained. To store the data outside the project, set `HOCKEY_UI_DATA_DIR` to an absolute directory, for example `D:/HockeyData/ui`. Set it before the first updated start; when changing it later, stop the app and copy the current contents of `local/` to the new directory first. The server account needs write access. Do not include `local/` or the external data directory in update archives and do not delete them when deploying code. Back up these files along with the database. Existing root configs are migration inputs only; after migration, editing those root files does not change the active UI. Settings lost before this update need to be restored from a prior backup. See `UPDATE_STAGE2_RU.md` for installation and rollback instructions. ## Recommended production credentials Put secrets in the server environment file instead of JSON: ```env STAT2TV_LOGIN=... STAT2TV_PASSWORD=... STAT2TV_BASE_URL=https://... STAT2TV_AUTH_MODE=auto STAT2TV_VERIFY_SSL=true ``` The application reads `STAT2TV_LOGIN` and `STAT2TV_PASSWORD` from the process environment first. The local credentials JSON is only a fallback when those variables are absent. >>>>>>> e4bedb1264fca8a6bc8a41f0ca1ff67b176c6651