New flagship case study covering a GPU-backed whisper.cpp transcription API reachable from Windows, iPhone, iPad and Android behind an authenticated gateway — framed as a service offering with the office-productivity case (roughly 5x typing throughput, unlimited, audio never leaves the premises). Content: - EN + ZH posts (same slug -> auto language switch) - "Why it matters" opener, hire CTA with clickable WhatsApp + mailto - Four documented traps: incomplete CUDA component selection, loopback bind mistaken for a firewall problem, n8n Code nodes discarding binary + the data0 key name, and nginx default.conf hijacking port 80 - Honest scoping of the auth model (access control, not hardened public API) Assets: - Custom OG image + 16:9 banner (generator entries appended, not patched inside the template-literal maps) Also marks Mem0 (B1) done and adds B1b to project-state.md.
This commit is contained in:
@@ -544,6 +544,27 @@ BANNERS['running-tts-as-a-service-with-token-sidecars'] = {
|
||||
],
|
||||
};
|
||||
|
||||
BANNERS['self-hosted-speech-to-text-api'] = {
|
||||
titlebar: 'root@gpu-pc — whisper.cpp',
|
||||
lines: [
|
||||
{ t: 'cmd', text: 'netstat -an | grep 20129' },
|
||||
{ t: 'ok', text: 'TCP 127.0.0.1:20129 LISTENING ← only this PC' },
|
||||
{ t: 'dim', text: 'iPhone · iPad · Android · work PCs ?' },
|
||||
{ t: 'cmd', text: '--host 0.0.0.0 + firewall -RemoteAddress LocalSubnet' },
|
||||
{ t: 'ok', text: 'TCP 0.0.0.0:20129 LISTENING ← reachable' },
|
||||
{ t: 'cmd', text: 'n8n gate: Authorization header → per-device key' },
|
||||
{ t: 'err', text: 'bad key → 403' },
|
||||
{ t: 'hl', text: '{"text":"…"} large-v3 on RTX 3060 · 130 wpm' },
|
||||
],
|
||||
flow: [
|
||||
{ n: '1', label: 'phone dictates' },
|
||||
{ n: '2', label: 'HTTPS + key' },
|
||||
{ n: '3', label: 'n8n gate' },
|
||||
{ n: '4', label: 'GPU transcribe' },
|
||||
{ n: '5', label: '5x typing ✓' },
|
||||
],
|
||||
};
|
||||
|
||||
// ---------- read frontmatter ----------
|
||||
const postPath = join(ROOT, 'src', 'content', 'posts', `${slug}.md`);
|
||||
let category = 'devops';
|
||||
|
||||
Reference in New Issue
Block a user