Commit graph

9 commits

Author SHA1 Message Date
87066bb8c2 Les konfigurasjon fra config.toml, med env-overstyring
Alt som gjorde appen «Sauda Gathering» – tittel, undertittel, aksentfarge,
hurtigfraser – var hardkodet i index.html. Dette legger grunnlaget for å
flytte det ut, så samme kode kan brukes på et annet arrangement uten å
redigere HTML.

Tre lag, siste vinner:  DEFAULTS -> config.toml -> ANNOUNCER_*

config.toml er valgfri. Uten den gjelder DEFAULTS, som er dagens oppførsel
bit for bit. Det er et krav, ikke en forglemmelse: tjenesten skal kunne
settes opp på en kveld uten at noe må konfigureres først.

Hemmeligheter hører i env-laget, så de kan stå i systemd-enheten istedenfor
i en fil i repoet. config.toml er gitignorert; config.example.toml er malen.

Egen modul og ikke en del av announcer.py fordi auth-koden som kommer
trenger den også, og det ville blitt en import-sirkel.

Ingenting bruker den ennå – det skjer i neste commit.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-08 15:42:52 +02:00
f191fb2b90 Døp om sg-announcer til announcer
Appen var navngitt etter Sauda Gathering, men det er ingenting
arrangementsspesifikt i selve koden. Navnet står igjen i tjenesten,
install.sh og pyproject.

- install.sh skriver nå announcer.service, og rydder bort en gammel
  sg-announcer.service først. Uten det slåss to enheter om port 8090
  når skriptet kjøres på en maskin som har den gamle.
- Enhetsfila får chmod 600; PIN-en står i klartekst i den.
- src/sg_announcer/ er slettet. Det var en uv-init-stub som bare printet
  «Hello from sg-announcer!», pekt på av [project.scripts], og som ingen
  har kalt noen gang.
- [tool.uv] package = false: appen er løse .py-filer som kjøres på plass,
  ikke en pakke. Uten den vil uv sync bygge et wheel og klage på at
  announcer/__init__.py mangler.

Repoet i Forgejo og mappa er døpt om tilsvarende.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
2026-10-08 15:42:36 +02:00
3f37b0a7fb install.sh: åpne også 22022 (NetBird SSH-server) på wt0
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:22:19 +02:00
775ab6d075 install.sh: ufw låst til NetBird (wt0) når det finnes
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 19:20:47 +02:00
ad1715838e install.sh for ny maskin + paplay-reserve når PipeWire mangler
Skriptet installerer apt-pakker, uv, Python 3.13, Piper-stemmene og
systemd-brukerenheten, og åpner porten i ufw hvis den er aktiv. Avspilling
velger pw-play når PipeWire kjører, ellers paplay (Linux Mint 21).

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 18:55:10 +02:00
756a234b13 Valgbare jingler: seks innebygde + egne filer i chimes/
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 03:50:48 +02:00
45a22e7ed6 edge-tts som standardmotor (Finn/Pernille), Piper som lokal reserve
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 03:42:16 +02:00
ff43624969 Flere stemmer: nvcc (10 norske talere), flere engelske, svensk og dansk
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 03:37:46 +02:00
1c3e17afa0 SG Announcer: Piper-TTS-utroper med forhåndslytt og kø
Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
2026-10-06 03:18:13 +02:00