docs: editing code lives in the repo's config; campus names; unwatched connections stay
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
+12
-12
@@ -14,7 +14,7 @@ Four words are used everywhere on it: a **key** (on the Stream Deck), a **comput
|
||||
|
||||
- It runs on the Ingest Mac as a second background program beside the watchdog, installed by the same `install.sh`. Plain Python, nothing to install. It is a separate program so a bug in the page can never stop the panel, and the page keeps working while the watchdog restarts.
|
||||
- Open **http://na-ingest.local:8020/** from any Mac, PC, iPad or phone on the church network. The address is printed on the cheat sheet and written into the ALL key's note in Companion, so anyone who finds the deck finds the page.
|
||||
- **Anyone on the network can look** at everything: the deck, the computers, the logs, the history, the help. **Changing anything needs the editing code**: switch **Editing** on in the top bar, type the code once and your first name; the browser remembers both. The code is a few random words the page makes itself on first start; it is shown only on the Ingest Mac's own screen (at http://127.0.0.1:8020/edit-key), never over the network. It is not a password for anything else. Five wrong tries lock the browser out for ten minutes.
|
||||
- **Anyone on the network can look** at everything: the deck, the computers, the logs, the history, the help. **Changing anything needs the editing code**: switch **Editing** on in the top bar, type the code once and your first name; the browser remembers both. The code is a setting in the campus's `config.json`, which lives in the private git repo, so everyone who has the repo has it; change it on Site setup › Site. The page never shows it to anyone who is not already editing. It is not a password for anything else. Five wrong tries lock the browser out for ten minutes.
|
||||
- It edits the live settings file the watchdog reads (in `~/Library/Application Support/status-panel/`). From then on the Ingest Mac's copy is the truth for that campus; the git repo keeps a snapshot you export from the page.
|
||||
|
||||
## 3. What you see
|
||||
@@ -120,7 +120,7 @@ COMPUTERS - MAP [Check computers now] looked 2
|
||||
|
||||
Six sections, each opening on the few things a person changes:
|
||||
|
||||
- **Site:** site name, this Mac's name and addresses, contacts for the cheat sheet, the alert message hook. Advanced: page port, the login key (present / not, public half to copy), helper paths, make a new editing code, install the staged folder, export the site bundle.
|
||||
- **Site:** site name, this Mac's name and addresses, contacts for the cheat sheet, the alert message hook. Advanced: page port, the login key (present / not, public half to copy), helper paths, the editing code, install the staged folder, export the site bundle.
|
||||
- **Schedules:** one schedule, the **live services** (Sunday 06:30–13:30 today): during them changes wait, auto-fix may act, alarms are always on. The tick list of fixes auto-fix may run. Advanced: the timing numbers (a fault must last 3 s, flapping, the 60 s cooldown, the 2 s hold).
|
||||
- **Companion:** the lights (variables exist, blink trigger, our pages exist, quiet Tascam module, ATEM module), the live list of connections with their module and which key watches each, "Add a key for it" for the ones nothing watches, the page-number buttons ("coloured on 96 of 97 pages" + Colour them now / Undo). Advanced: address, variable names, nav settings, grid, purple-after, export stamps.
|
||||
- **Network & Dante:** the port and gateway the NET key watches, the Dante switches, and the **Dante device list** (the one place the DANTE key's devices are edited, with key text and per-device fix), "Check the Dante network now". Advanced: the blip rule, survey interval.
|
||||
@@ -160,9 +160,9 @@ The Setup tab generates each computer's one-time script (the Mac authorise scrip
|
||||
|
||||
## 6. The other campuses
|
||||
|
||||
One settings file per campus = one site block plus that campus's computers, keys, checks, fixes, windows and gear. The code never contains a site name, an address, a label, a playlist, a path or a day name; everything site-shaped is data. Differences between campuses are plain differences in that data: fewer HD keys, no Studio B, another playlist, other Dante names, an extra PC, other page numbers, a Saturday evening service that runs past midnight.
|
||||
Apollo Beach, Woonsocket and Southcoast each already have a Mac Studio running Companion; the page and the watchdog go on that Mac. One settings file per campus = one site block plus that campus's computers, keys, checks, fixes, windows and gear. The code never contains a site name, an address, a label, a playlist, a path or a day name; everything site-shaped is data. Differences between campuses are plain differences in that data: fewer HD keys, no Studio B, another playlist, other Dante names, an extra PC, other page numbers, a Saturday evening service that runs past midnight.
|
||||
|
||||
Setting up a new campus: install Companion and the command-line tools on its Ingest Mac, copy the folder over, run `install.sh --site <name>` once (it uses the repo's `sites/<name>/` if there is one, otherwise the empty template), read the editing code off that screen, do the Companion one-time steps (section 12). Then on the page: **New campus from this one** starts from a site bundle (export NA's from its page and copy it over with the folder, or pick any `sites/` folder in the copied repo) and walks you through it — keep, rename or drop each computer (dropping one drops every key, check and fix that used it and lists them), map the connection labels, Dante devices and MIDI sessions from that Companion's live lists, set the playlist, switcher, network and schedule, Review & Apply. Everything copied from NA is flagged "copied from North Attleboro — check it" until touched. The repo keeps one folder per site (`sites/na/`, `sites/<new>/`); the page's **Export site bundle** gives you the zip to drop in.
|
||||
Setting up a new campus: install Companion and the command-line tools on its Ingest Mac, copy the folder over, run `install.sh --site <name>` once (it uses the repo's `sites/<name>/` if there is one, otherwise the empty template), do the Companion one-time steps (section 12). Then on the page: **New campus from this one** starts from a site bundle (export NA's from its page and copy it over with the folder, or pick any `sites/` folder in the copied repo) and walks you through it — keep, rename or drop each computer (dropping one drops every key, check and fix that used it and lists them), map the connection labels, Dante devices and MIDI sessions from that Companion's live lists, set the playlist, switcher, network and schedule, Review & Apply. Everything copied from NA is flagged "copied from North Attleboro — check it" until touched. The repo keeps one folder per site (`sites/na/`, `sites/<new>/`); the page's **Export site bundle** gives you the zip to drop in.
|
||||
|
||||
## 7. Saving a change
|
||||
|
||||
@@ -176,7 +176,7 @@ Setting up a new campus: install Companion and the command-line tools on its Ing
|
||||
## 8. Safety
|
||||
|
||||
- The page answers only on the church network; everything is readable, nothing changes without the editing code; every change is logged with name and address.
|
||||
- No passwords are stored or typed: the login key stays a file on the Ingest Mac; the Netgear login stays in the keychain (the page shows the one line to type in Terminal); the alert hook is masked everywhere; the editing code is made by the page and shown only on the Ingest screen.
|
||||
- No passwords are stored or typed: the login key stays a file on the Ingest Mac; the Netgear login stays in the keychain (the page shows the one line to type in Terminal); the alert hook is masked everywhere; the editing code is a setting in the repo's config (whoever has the repo has it) and is masked for anyone who is not editing.
|
||||
- The page never runs a command before Apply. Fixes and checks are built from fields and run only by the watchdog, which applies its usual guards (cooldown, a recording deck is left alone, one MIDI fix at a time). The only raw command field is under Advanced, shown in red, and asks for the code again.
|
||||
- Never automated: the setup scripts on other computers, firewall or system changes, BIOS, macOS permission prompts, creating Companion's custom variables (unless a safe way is proven first), rebooting a device, power-cycling a PoE port or pushing a switcher file from a Run button, restarting the Resi bridge by itself, anything during a live service without the Emergency button.
|
||||
- Deleting a computer, key, fix or check shows everything that refers to it and asks. One confirmation style everywhere: a dialog that states the consequence; a typed word only for Emergency and for Stop the watchdog.
|
||||
@@ -202,7 +202,7 @@ Each step is deployed on its own, outside a service, with tests green, a live ch
|
||||
| Step | What you get | What you can try | Size |
|
||||
|---|---|---|---|
|
||||
| 0 Groundwork | The registry and its tests; the watchdog's start stamp, safe restart, remembered acks, "run this fix" verb; install.sh changes. No page yet. | Nothing changes on the deck. Hold SPOTIFY still works. | 1.5 days |
|
||||
| 1 The page, read-only | Overview with the live deck, Keys viewer, Computers Map/cards/Gear with live looks, Logs, History list, Help with the key guide and cheat sheet. The editing code exists. Also the small Companion experiments (can it create variables safely, which OBS variable says "streaming"). | Open it from your phone; see every computer and what runs on it; print the cheat sheet; a newcomer reads it back to you. | 3 days |
|
||||
| 1 The page, read-only | Overview with the live deck, Keys viewer, Computers Map/cards/Gear with live looks, Logs, History list, Help with the key guide and cheat sheet. Also the small Companion experiments (can it create variables safely, which OBS variable says "streaming"). | Open it from your phone; see every computer and what runs on it; print the cheat sheet; a newcomer reads it back to you. | 3 days |
|
||||
| 2 Editing + Apply | Drafts, Review, Apply with rollback and the live-service guard; Site setup editors; key editor with check and fix builders; Run this fix now. Moving keys is refused until step 3. | Change HD2 "may have no disk" and Apply; paste a new playlist link; add a Dante device; Go back to yesterday; try an Apply during a pretend service and see it refused. | 4 days |
|
||||
| 3 Layout | Drag keys, add/delete keys, the Restart page, page numbers; Apply re-imports pages and recolours page-number buttons. | Move LED, add HD7, delete HD5, Apply, watch the deck change. | 2 days |
|
||||
| 4 Jobs | Change the playlist, Add or remove a HyperDeck, Add a MIDI link, Add a computer, Make a PC program startable; "Add a key for it" on unwatched connections. | Untick HD1/3/5/6 and run on 2 and 4; add a MIDI link to a Mac that is off. | 2.5 days |
|
||||
@@ -213,7 +213,7 @@ Later, if wanted: a Training copy of the page where nothing is real; an "OBS is
|
||||
|
||||
## 12. What you still do by hand
|
||||
|
||||
- **A new Ingest Mac:** install Companion, `xcode-select --install`, Remote Login on, copy the folder over, run `install.sh --site <name>` once, read the editing code off its screen.
|
||||
- **A new Ingest Mac:** install Companion, `xcode-select --install`, Remote Login on, copy the folder over, run `install.sh --site <name>` once.
|
||||
- **Companion, per campus:** create the custom variables `sp_state`, `sp_hb`, `sp_cmd`, `flash_tick` and the blink trigger (the page gives you the file to import, or a button if step 1 proves it safe); add pages up to the Status and Restart numbers; install the ATEM module; import the quiet Tascam module where there is a DA-6400; name the Stream Decks. Why: Companion only allows these in its own UI; a full import would wipe the variables.
|
||||
- **Every other Mac:** Remote Login on; paste the generated authorise script (and the DVS helper where DVS runs) via ARD "Send UNIX Command as root"; make the Audio MIDI Setup sessions the page names; on Studio B run the generated solo-mode install and allow Accessibility on that screen. Why: root rights and permission prompts must come from a person at that Mac.
|
||||
- **Every Windows PC:** run the generated setup script as administrator, paste its RESULT block into the page; BIOS wake-on-LAN; keep the Lighting PC on Public; Vista autoload; the Bible TV Wi-Fi power settings (or Ethernet). Why: system and firewall changes need your OK; BIOS has no remote path.
|
||||
@@ -221,12 +221,12 @@ Later, if wanted: a Training copy of the page where nothing is real; an "OBS is
|
||||
- **ATEM saved file:** save it from ATEM Software Control when the show changes, then "Pick the newest file" on the ATEM section, outside a service.
|
||||
- **Code updates (you):** `scp` the folder to the Ingest Mac as today, then Site setup → Install the staged folder. Drop the exported site bundle into `sites/<name>/` when the repo should hold the latest snapshot. The repo stays private.
|
||||
|
||||
## 13. Questions for you (none of these block steps 0–2)
|
||||
## 13. Answers so far
|
||||
|
||||
1. Who gets the editing code besides you?
|
||||
2. Live services at NA: only Sunday 6:30–13:30, or also midweek services or rehearsals that changes should wait for?
|
||||
3. The other campuses: names, and does each have a Mac that runs Companion? (The page and the watchdog live on that Mac.)
|
||||
4. The Companion connections nothing watches today (7 Govee lights, DiGiCo_OSC, m32, AbleSet, tcp-HyperDeck-1..6): leave them unwatched?
|
||||
1. **Who can edit:** the editing code lives in `config.json` in the private repo, so everyone with the repo has it (answered 2026-10-13).
|
||||
2. **When changes must wait:** the page refuses to apply a change while a service is on, so nothing is restarted mid-service. Today it knows Sunday 6:30 AM–1:30 PM (and any time a HyperDeck is recording). Still open: are there other times — a midweek service, a rehearsal — when it should refuse too? If not, Sunday is the only window.
|
||||
3. **The other campuses:** Apollo Beach, Woonsocket and Southcoast, each with a Mac Studio already running Companion (answered 2026-10-13).
|
||||
4. **Unwatched Companion connections** (7 Govee lights, DiGiCo_OSC, m32, AbleSet, tcp-HyperDeck-1..6): stay unwatched (answered 2026-10-13).
|
||||
|
||||
## 14. How this plan was audited
|
||||
|
||||
|
||||
Reference in New Issue
Block a user