Step 1 in progress: the settings page server, probes, teaching pages and UI (not deployed yet)
- settings/server.py: read-only routes (overview, keys, computers, gear, companion, logs, history, help facts, key guide / cheat sheet / where things are), the editing-code check with a lockout, LAN-only binding with a per-minute rebind - settings/probes.py: fixed read-only probes per computer; whole lists fetched and matched locally - settings/keyguide.py: the generated teaching pages - settings/ui: the page, every screen read-only - status_panel.py: snapshot.json every 5 s for the page; the Companion database lookup prefers the running build's folder and skips a database that will not open (a stale v5.1 folder was breaking it) - config.json: every computer's record (what runs there, network ports, done-by-hand ticks), the editing code (kept in the repo, the user's choice), an empty gear list - install.sh: the settings page as a second LaunchAgent; settings/ and schema.py deployed Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
This commit is contained in:
+348
-8
@@ -2,7 +2,8 @@
|
||||
"site": {
|
||||
"id": "na", "name": "North Attleboro", "ingest_name": "NA Ingest", "ingest_hostname": "na-ingest.local",
|
||||
"ingest_ips": ["10.1.1.1", "10.6.3.222"],
|
||||
"live_services": []
|
||||
"live_services": [],
|
||||
"editing_code": "stingo serried warp"
|
||||
},
|
||||
"companion": { "host": "127.0.0.1", "port": 8000 },
|
||||
"page": 19,
|
||||
@@ -38,15 +39,354 @@
|
||||
|
||||
"dante_switches": ["10.66.1.100", "10.66.1.102"],
|
||||
"hosts": {
|
||||
"prop": { "ssh": "napropresenter@10.1.14.225" },
|
||||
"tracks": { "ssh": "waterschurchmedia@10.1.3.227" },
|
||||
"translation": { "ssh": "studio@10.1.7.39" },
|
||||
"bibletv": { "ssh": "media@10.6.7.13", "os": "windows" },
|
||||
"lighting": { "ssh": "media@10.1.10.206", "os": "windows" },
|
||||
"studiob": { "ssh": "studiob@10.1.13.175" },
|
||||
"livestream": { "ssh": "media@10.1.9.126", "os": "windows", "mac": "6c:24:08:d7:fb:57", "wake_broadcast": "10.1.255.255" }
|
||||
"ingest": {
|
||||
"self": true,
|
||||
"name": "NA Ingest",
|
||||
"os": "mac",
|
||||
"role": "the watchdog, Companion, the settings page, lobby captions, transcription",
|
||||
"runs": [
|
||||
{
|
||||
"kind": "launchagent",
|
||||
"label": "org.waterschurch.status-panel",
|
||||
"name": "the watchdog"
|
||||
},
|
||||
{
|
||||
"kind": "launchagent",
|
||||
"label": "org.waterschurch.status-settings",
|
||||
"name": "the settings page"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "Companion",
|
||||
"name": "Companion 5.0.7",
|
||||
"http": "http://127.0.0.1:8000/api/connections"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "Companion Satellite",
|
||||
"name": "Companion Satellite",
|
||||
"watched": false
|
||||
},
|
||||
{
|
||||
"kind": "launchagent",
|
||||
"label": "org.waterschurch.resi-propresenter",
|
||||
"name": "the Resi bridge"
|
||||
},
|
||||
{
|
||||
"kind": "launchagent",
|
||||
"label": "org.waterschurch.lobby-captions",
|
||||
"name": "lobby captions"
|
||||
},
|
||||
{
|
||||
"kind": "launchagent",
|
||||
"label": "org.waterschurch.lobby-captions-display",
|
||||
"name": "the caption screen"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "ProdCom",
|
||||
"name": "ProdCom (transcription)",
|
||||
"http": "http://127.0.0.1:24480/api/v1/ping"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "ProdDash",
|
||||
"name": "ProdDash",
|
||||
"http": "http://127.0.0.1:24500/"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "Spotify",
|
||||
"name": "Spotify"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "ATEM Software Control",
|
||||
"name": "ATEM Software Control"
|
||||
},
|
||||
{
|
||||
"kind": "daemon",
|
||||
"process": "DanteVirtualSoundcard",
|
||||
"name": "Dante Virtual Soundcard",
|
||||
"dante_name": "STUDIO-A-Ingest"
|
||||
},
|
||||
{
|
||||
"kind": "helper_dvs",
|
||||
"name": "the DVS helper"
|
||||
},
|
||||
{
|
||||
"kind": "folder",
|
||||
"path": "~/Library/CloudStorage/GoogleDrive-media@waterschurch.org/Shared drives/Waters Creative/Production Team/Backup/NA/ATEM",
|
||||
"name": "Google Drive (the saved switcher files)"
|
||||
},
|
||||
{
|
||||
"kind": "launchagent",
|
||||
"label": "org.waterschurch.checklist-build-runner",
|
||||
"name": "Gitea runner (not the panel)",
|
||||
"watched": false
|
||||
},
|
||||
{
|
||||
"kind": "launchagent",
|
||||
"label": "org.waterschurch.checklist-drive-backup",
|
||||
"name": "checklist backup (not the panel)",
|
||||
"watched": false
|
||||
},
|
||||
{
|
||||
"kind": "launchagent",
|
||||
"label": "org.waterschurch.checklist-weekly-health",
|
||||
"name": "checklist health (not the panel)",
|
||||
"watched": false
|
||||
},
|
||||
{
|
||||
"kind": "disabled",
|
||||
"label": "org.waterschurch.translate",
|
||||
"name": "Church Translate (must NOT run here)"
|
||||
}
|
||||
],
|
||||
"networks": [
|
||||
{
|
||||
"iface": "en0",
|
||||
"use": "LAN"
|
||||
},
|
||||
{
|
||||
"iface": "en1",
|
||||
"use": "LAN"
|
||||
},
|
||||
{
|
||||
"iface": "en17",
|
||||
"use": "Dante"
|
||||
},
|
||||
{
|
||||
"iface": "en20",
|
||||
"use": "Netgear management"
|
||||
}
|
||||
]
|
||||
},
|
||||
"prop": {
|
||||
"ssh": "napropresenter@10.1.14.225",
|
||||
"name": "ProPresenter Mac",
|
||||
"os": "mac",
|
||||
"role": "ProPresenter, its stage and Prop TV pages, Dante sound card",
|
||||
"runs": [
|
||||
{
|
||||
"kind": "sshd"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "ProPresenter",
|
||||
"name": "ProPresenter (newest installed)",
|
||||
"http": "http://10.1.14.225:1025/"
|
||||
},
|
||||
{
|
||||
"kind": "daemon",
|
||||
"process": "DanteVirtualSoundcard",
|
||||
"name": "Dante Virtual Soundcard",
|
||||
"dante_name": "NA-ProPresenter-Mac"
|
||||
},
|
||||
{
|
||||
"kind": "helper_dvs",
|
||||
"name": "the DVS helper"
|
||||
},
|
||||
{
|
||||
"kind": "midi_session",
|
||||
"name": "NA ProP"
|
||||
}
|
||||
]
|
||||
},
|
||||
"tracks": {
|
||||
"ssh": "waterschurchmedia@10.1.3.227",
|
||||
"name": "Tracks Mac",
|
||||
"os": "mac",
|
||||
"role": "Ableton (tracks and FX lighting cues), Dante sound card",
|
||||
"runs": [
|
||||
{
|
||||
"kind": "sshd"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "Live",
|
||||
"name": "Ableton Live 11 Suite"
|
||||
},
|
||||
{
|
||||
"kind": "daemon",
|
||||
"process": "DanteVirtualSoundcard",
|
||||
"name": "Dante Virtual Soundcard",
|
||||
"dante_name": "NA-Tracks"
|
||||
},
|
||||
{
|
||||
"kind": "helper_dvs",
|
||||
"name": "the DVS helper"
|
||||
},
|
||||
{
|
||||
"kind": "midi_session",
|
||||
"name": "NA Tracks"
|
||||
}
|
||||
]
|
||||
},
|
||||
"translation": {
|
||||
"ssh": "studio@10.1.7.39",
|
||||
"name": "NA Translation",
|
||||
"os": "mac",
|
||||
"role": "Church Translate, Dante sound card",
|
||||
"runs": [
|
||||
{
|
||||
"kind": "sshd"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "Church Translate",
|
||||
"name": "Church Translate"
|
||||
},
|
||||
{
|
||||
"kind": "launchagent",
|
||||
"label": "org.waterschurch.translate.engine",
|
||||
"name": "the translation engine",
|
||||
"watched": false
|
||||
},
|
||||
{
|
||||
"kind": "daemon",
|
||||
"process": "DanteVirtualSoundcard",
|
||||
"name": "Dante Virtual Soundcard",
|
||||
"dante_name": "NA-Translation"
|
||||
},
|
||||
{
|
||||
"kind": "helper_dvs",
|
||||
"name": "the DVS helper"
|
||||
}
|
||||
]
|
||||
},
|
||||
"studiob": {
|
||||
"ssh": "studiob@10.1.13.175",
|
||||
"name": "Studio B Mac Studio",
|
||||
"os": "mac",
|
||||
"role": "Pro Tools",
|
||||
"runs": [
|
||||
{
|
||||
"kind": "sshd"
|
||||
},
|
||||
{
|
||||
"kind": "app",
|
||||
"process": "Pro Tools",
|
||||
"name": "Pro Tools"
|
||||
},
|
||||
{
|
||||
"kind": "helper_solo",
|
||||
"label": "org.waterschurch.status-panel.solo-mode",
|
||||
"name": "the Pro Tools solo-mode helper"
|
||||
},
|
||||
{
|
||||
"kind": "midi_session",
|
||||
"name": "Studio B Mac Studio",
|
||||
"peer_of": "NA Tracks"
|
||||
}
|
||||
]
|
||||
},
|
||||
"lighting": {
|
||||
"ssh": "media@10.1.10.206",
|
||||
"name": "Lighting PC",
|
||||
"os": "windows",
|
||||
"role": "Vista, Resolume Arena, rtpMIDI",
|
||||
"pingable": false,
|
||||
"notes": "Keep the network profile on Public: rtpMIDI's Bonjour rules only allow Public.",
|
||||
"runs": [
|
||||
{
|
||||
"kind": "sshd"
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"name": "Start Vista",
|
||||
"exe": "Vista.exe"
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"name": "Start Arena",
|
||||
"exe": "Arena.exe"
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"name": "Start rtpMIDI",
|
||||
"exe": "rtpMIDI.exe"
|
||||
},
|
||||
{
|
||||
"kind": "service",
|
||||
"name": "rtpMIDIService"
|
||||
},
|
||||
{
|
||||
"kind": "artnet",
|
||||
"name": "Vista Art-Net",
|
||||
"source": "10.1.10.206"
|
||||
}
|
||||
],
|
||||
"manual_done": {
|
||||
"public_profile": {
|
||||
"by": "Chris",
|
||||
"on": "2026-10-08"
|
||||
},
|
||||
"vista_autoload": {
|
||||
"by": "Chris",
|
||||
"on": "2026-10-08"
|
||||
}
|
||||
}
|
||||
},
|
||||
"livestream": {
|
||||
"ssh": "media@10.1.9.126",
|
||||
"os": "windows",
|
||||
"mac": "6c:24:08:d7:fb:57",
|
||||
"wake_broadcast": "10.1.255.255",
|
||||
"name": "LiveStream PC",
|
||||
"role": "OBS (YouTube)",
|
||||
"runs": [
|
||||
{
|
||||
"kind": "sshd"
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"name": "Start OBS",
|
||||
"exe": "obs64.exe",
|
||||
"elevated": true
|
||||
}
|
||||
],
|
||||
"manual_done": {
|
||||
"bios_wol": {
|
||||
"by": "Chris",
|
||||
"on": "2026-10-08"
|
||||
}
|
||||
}
|
||||
},
|
||||
"bibletv": {
|
||||
"ssh": "media@10.6.7.13",
|
||||
"os": "windows",
|
||||
"name": "Bible TV PC",
|
||||
"role": "the Bible app on the sanctuary TV",
|
||||
"pingable": false,
|
||||
"notes": "Wi-Fi only; Ethernet recommended. Wi-Fi power saving is off.",
|
||||
"runs": [
|
||||
{
|
||||
"kind": "sshd"
|
||||
},
|
||||
{
|
||||
"kind": "task",
|
||||
"name": "Start BibleApp",
|
||||
"exe": "Bible App.exe",
|
||||
"at_logon": true
|
||||
},
|
||||
{
|
||||
"kind": "web",
|
||||
"url": "http://10.6.7.13:8080/",
|
||||
"name": "the Bible app's web page"
|
||||
}
|
||||
],
|
||||
"manual_done": {
|
||||
"wifi_power": {
|
||||
"by": "Chris",
|
||||
"on": "2026-10-11"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
"gear": {},
|
||||
|
||||
"fixes": {
|
||||
"propresenter": { "host": "prop", "short": "PROPRES", "label": "restart ProPresenter (newest installed)",
|
||||
"run": "APP=$(ls -d /Applications/ProPresenter*.app | sort -V | tail -1); if pgrep -xq ProPresenter; then pkill -TERM -x ProPresenter; for i in 1 2 3 4 5 6 7 8 9 10; do pgrep -xq ProPresenter || break; sleep 1; done; pkill -KILL -x ProPresenter; sleep 1; fi; open \"$APP\"" },
|
||||
|
||||
Reference in New Issue
Block a user