fix(homepage): Jellyfin takes the family login; document the voice models #145
No files matched your search
+62
-10
@@ -33,7 +33,7 @@ There is no signup button on purpose.</p>
|
|||||||
<p><strong>2. Pick what you want to do:</strong></p>
|
<p><strong>2. Pick what you want to do:</strong></p>
|
||||||
<table>
|
<table>
|
||||||
<tr><th>I want to…</th><th>Open</th><th>Needs its own login?</th></tr>
|
<tr><th>I want to…</th><th>Open</th><th>Needs its own login?</th></tr>
|
||||||
<tr><td>watch a film or a show</td><td><a href="https://jelly.franksdank.cloud">Jellyfin</a></td><td>yes — ask Frank</td></tr>
|
<tr><td>watch a film or a show</td><td><a href="https://jelly.franksdank.cloud">Jellyfin</a></td><td>no — your franksdank.cloud login</td></tr>
|
||||||
<tr><td>watch it on a TV that already has Plex</td><td><a href="https://plex.franksdank.cloud/web">Plex</a></td><td>yes — a Plex account, Frank invites it</td></tr>
|
<tr><td>watch it on a TV that already has Plex</td><td><a href="https://plex.franksdank.cloud/web">Plex</a></td><td>yes — a Plex account, Frank invites it</td></tr>
|
||||||
<tr><td>listen to an audiobook</td><td><a href="https://audiobooks.franksdank.cloud/audiobookshelf">Audiobookshelf</a></td><td>no — the family password</td></tr>
|
<tr><td>listen to an audiobook</td><td><a href="https://audiobooks.franksdank.cloud/audiobookshelf">Audiobookshelf</a></td><td>no — the family password</td></tr>
|
||||||
<tr><td>ask a computer a question, privately</td><td><a href="https://ai.franksdank.cloud">AI chat</a></td><td>no</td></tr>
|
<tr><td>ask a computer a question, privately</td><td><a href="https://ai.franksdank.cloud">AI chat</a></td><td>no</td></tr>
|
||||||
@@ -77,15 +77,17 @@ There is no signup button on purpose.</p>
|
|||||||
<li><strong>Authentik</strong> is the front desk. It asks who you are, once per device
|
<li><strong>Authentik</strong> is the front desk. It asks who you are, once per device
|
||||||
per few days, and after that you drift from app to app without being stopped again.</li>
|
per few days, and after that you drift from app to app without being stopped again.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<p>One account opens: the homepage, search, Marreta, the AI chat, Files, Gitea.</p>
|
<p>One account opens: the homepage, search, Marreta, the AI chat, Files, Gitea, and Jellyfin
|
||||||
|
(there it is typed as username + password, not the automatic sign-in).</p>
|
||||||
<figure>
|
<figure>
|
||||||
<img src="/img/onboarding/door-authentik.webp" alt="The sign-in screen: an identification field, then a password field">
|
<img src="/img/onboarding/door-authentik.webp" alt="The sign-in screen: an identification field, then a password field">
|
||||||
<figcaption>The front desk. Your username first, then your password. Nothing here signs
|
<figcaption>The front desk. Your username first, then your password. Nothing here signs
|
||||||
you up for anything; if you don't have an account yet, ask Frank.</figcaption>
|
you up for anything; if you don't have an account yet, ask Frank.</figcaption>
|
||||||
</figure>
|
</figure>
|
||||||
<p class="key-warn">Three doors keep their own accounts and will not take the family
|
<p class="key-warn">Two doors keep their own accounts and will not take the family
|
||||||
password: <strong>Jellyfin</strong>, <strong>Plex</strong> (a Plex account, its own e-mail
|
password: <strong>Plex</strong> (a Plex account, its own e-mail
|
||||||
login) and the e-book door. Frank creates those by hand.</p>
|
login) and the e-book door. Frank creates those by hand. <strong>Jellyfin does take the
|
||||||
|
family login</strong> — your franksdank.cloud username and password.</p>
|
||||||
<p class="foot-note">Want your own password? It lives at
|
<p class="foot-note">Want your own password? It lives at
|
||||||
<a href="https://auth.franksdank.cloud/if/flow/default-user-settings-flow/">account settings</a>
|
<a href="https://auth.franksdank.cloud/if/flow/default-user-settings-flow/">account settings</a>
|
||||||
— the same button you get at the bottom of the homepage.</p>
|
— the same button you get at the bottom of the homepage.</p>
|
||||||
@@ -128,8 +130,10 @@ account of any company's, and the posters and episode guides are all filled in.<
|
|||||||
<h3>Getting in</h3>
|
<h3>Getting in</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Pick your name. There is no list of names on the login screen — type yours.</li>
|
<li>Pick your name. There is no list of names on the login screen — type yours.</li>
|
||||||
<li>Type the password Frank set for you. <strong>It is not the family password</strong>;
|
<li>Type your <strong>franksdank.cloud password</strong> — the same one that opens the
|
||||||
this is the most common wrong door.</li>
|
homepage, search and the AI chat. There is no separate Jellyfin password.</li>
|
||||||
|
<li>Refused, but the same password opens the homepage? Your name hasn't been given library
|
||||||
|
access yet — ask Frank, it's a one-line change on his side.</li>
|
||||||
<li>No name yet? Ask Frank to make one. There is no self-service signup, on purpose.</li>
|
<li>No name yet? Ask Frank to make one. There is no self-service signup, on purpose.</li>
|
||||||
</ul>
|
</ul>
|
||||||
<figure>
|
<figure>
|
||||||
@@ -147,7 +151,8 @@ account of any company's, and the posters and episode guides are all filled in.<
|
|||||||
</ul>
|
</ul>
|
||||||
<h3>If it misbehaves</h3>
|
<h3>If it misbehaves</h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li>Wrong password and no error you understand? That's the family password again.</li>
|
<li>It rejects a password that works everywhere else? Your name isn't on the library-access
|
||||||
|
list yet — ask Frank.</li>
|
||||||
<li>A film with a blank poster is missing artwork, not missing files — Frank can refresh it.</li>
|
<li>A film with a blank poster is missing artwork, not missing files — Frank can refresh it.</li>
|
||||||
<li>Buffering away from home usually means the pipe out of the house, not the server.</li>
|
<li>Buffering away from home usually means the pipe out of the house, not the server.</li>
|
||||||
</ul>
|
</ul>
|
||||||
@@ -167,7 +172,8 @@ Plex's own sign-in, and that is correct: Plex is closed-source and insists on a
|
|||||||
both; the artwork, watch-state and profiles are separate.</li>
|
both; the artwork, watch-state and profiles are separate.</li>
|
||||||
<li>Choose Plex when your TV already has the Plex app on it, or you want Plex's trailers
|
<li>Choose Plex when your TV already has the Plex app on it, or you want Plex's trailers
|
||||||
and music. Otherwise Jellyfin is the one the household uses.</li>
|
and music. Otherwise Jellyfin is the one the household uses.</li>
|
||||||
<li>Ask Frank for an invitation; he can also tell you which of the two has the thing you're looking for.</li>
|
<li>Need a Plex account of your own? Ask Frank to invite it; he can also tell you which of
|
||||||
|
the two has the thing you're looking for.</li>
|
||||||
</ul>
|
</ul>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
@@ -359,6 +365,51 @@ Qwen3.8-Flash-Next v2, abliterated
|
|||||||
(<a href="https://huggingface.co/prism-ml/Ternary-Bonsai-2-9B-gguf">prism-ml/Ternary-Bonsai-2-9B-gguf</a>)
|
(<a href="https://huggingface.co/prism-ml/Ternary-Bonsai-2-9B-gguf">prism-ml/Ternary-Bonsai-2-9B-gguf</a>)
|
||||||
with a small adapter fitted that removes its refusal reflex. All three accept pictures. Ask
|
with a small adapter fitted that removes its refusal reflex. All three accept pictures. Ask
|
||||||
Frank before pointing a script at one of them directly; the address is on the homepage.</p>
|
Frank before pointing a script at one of them directly; the address is on the homepage.</p>
|
||||||
|
|
||||||
|
<h3>And the voices</h3>
|
||||||
|
<p>Two speech models live in this house, and they are different animals. One of them
|
||||||
|
speaks as a <em>specific person</em>; the other is a pack of stock voices that ships inside
|
||||||
|
the tools you already use.</p>
|
||||||
|
<table>
|
||||||
|
<tr><th>Name</th><th>Runs on</th><th>Good at</th><th>Notes</th></tr>
|
||||||
|
<tr>
|
||||||
|
<td><code>frank-tts</code></td>
|
||||||
|
<td>the Strix Halo machine's built-in graphics, sharing the card with <code>frank-dragoon</code></td>
|
||||||
|
<td>cloning: it speaks as one particular voice, chosen by name</td>
|
||||||
|
<td>five voices today — <code>dr.kern</code>, <code>garrickhagon</code>,
|
||||||
|
<code>jeffhays</code>, <code>vaati</code>, <code>wilwheaton</code>; ask for one by name and
|
||||||
|
you get it. No key, but it is a house-hardware door: it answers on the house network only</td>
|
||||||
|
</tr>
|
||||||
|
<tr>
|
||||||
|
<td><strong>Kokoro</strong></td>
|
||||||
|
<td>your own browser, or Frank's own terminal — no server in the loop</td>
|
||||||
|
<td>instant plain narration, quick and cheap</td>
|
||||||
|
<td>about two dozen preset voices with coded names (<code>af_heart</code>,
|
||||||
|
<code>bm_george</code>…). It cannot clone, and it will never answer to the five names
|
||||||
|
above</td>
|
||||||
|
</tr>
|
||||||
|
</table>
|
||||||
|
<ul>
|
||||||
|
<li><strong>The AI chat's speaker button is Kokoro.</strong> That is why it offers a
|
||||||
|
different list of names, and why it starts talking a moment before anything on the server
|
||||||
|
could. It speaks in your browser, on your machine.</li>
|
||||||
|
<li><strong>The podcast maker uses the clones.</strong> An episode's two hosts are
|
||||||
|
<code>wilwheaton</code> and <code>vaati</code>, rendered by <code>frank-tts</code>. That door
|
||||||
|
is Frank's for now.</li>
|
||||||
|
<li><strong>Frank's coding agent narrates through the clones too</strong> — the default
|
||||||
|
voice is <code>wilwheaton</code>.</li>
|
||||||
|
<li><strong>Want your own voice in the list?</strong> Ask Frank. It needs about twenty
|
||||||
|
seconds of you talking plainly, once; the voice then carries your name.</li>
|
||||||
|
</ul>
|
||||||
|
<p class="foot-note">The exact weights: <code>frank-tts</code> is a Qwen3 talker
|
||||||
|
(1.7 billion parameters, 4-bit) plus its 12 Hz audio codec, driven by
|
||||||
|
<code>qwentts.cpp</code>; Kokoro is a much smaller 82-million-parameter model whose voices are
|
||||||
|
baked in. A cloned voice is not a setting — it is a directory of reference audio on the
|
||||||
|
server, which is why adding one is a fifteen-minute job and not a checkbox. Programmers on the
|
||||||
|
house network: <code>POST http://192.168.0.143:7772/v1/audio/speech</code> with
|
||||||
|
<code>{"input": "…", "voice": "vaati"}</code> gets you WAV or MP3, and
|
||||||
|
<a href="http://192.168.0.143:7772/v1/audio/voices"><code>/v1/audio/voices</code></a> answers
|
||||||
|
the live list, so this page can never lie to you for long.</p>
|
||||||
</section>
|
</section>
|
||||||
|
|
||||||
<section id="api-access">
|
<section id="api-access">
|
||||||
@@ -401,7 +452,8 @@ one you were given? Ask Frank to widen the key.</p>
|
|||||||
scripts it needs (or an extension is). Allow scripts for that site, or try another browser.
|
scripts it needs (or an extension is). Allow scripts for that site, or try another browser.
|
||||||
Still looping? Ask Frank — the guard can be told you're a person.</li>
|
Still looping? Ask Frank — the guard can be told you're a person.</li>
|
||||||
<li><strong>"Invalid password" on the front desk.</strong> Right password, wrong door: the
|
<li><strong>"Invalid password" on the front desk.</strong> Right password, wrong door: the
|
||||||
family login does not open Jellyfin, Plex or the e-book door.</li>
|
family login does not open Plex or the e-book door. Jellyfin does take it, but only for the
|
||||||
|
names Frank has given library access.</li>
|
||||||
<li><strong>The AI is slow.</strong> Each model only holds a couple of conversations at once
|
<li><strong>The AI is slow.</strong> Each model only holds a couple of conversations at once
|
||||||
(two, three or four, depending which). It is a queue, not a crash — or Frank is
|
(two, three or four, depending which). It is a queue, not a crash — or Frank is
|
||||||
mid-conversation; the big one is on the same machine as the films.</li>
|
mid-conversation; the big one is on the same machine as the films.</li>
|
||||||
|
|||||||
@@ -110,7 +110,7 @@
|
|||||||
"name": "Jellyfin",
|
"name": "Jellyfin",
|
||||||
"category": "user",
|
"category": "user",
|
||||||
"section": "Media Library Apps",
|
"section": "Media Library Apps",
|
||||||
"description": "Open source media server for the film and TV library: its own logins (no Authentik here), so ask Frank for an account.",
|
"description": "Open source media server for the film and TV library. Sign in with your franksdank.cloud username and password — the same login as the rest of the house; ask Frank if yours isn't in yet.",
|
||||||
"url": "http://jelly.franksdank.cloud",
|
"url": "http://jelly.franksdank.cloud",
|
||||||
"docs": "",
|
"docs": "",
|
||||||
"probe": "192.168.0.235:8096",
|
"probe": "192.168.0.235:8096",
|
||||||
@@ -136,7 +136,7 @@
|
|||||||
"name": "Marreta",
|
"name": "Marreta",
|
||||||
"category": "user",
|
"category": "user",
|
||||||
"section": "Web Apps",
|
"section": "Web Apps",
|
||||||
"description": "Paywall sledgehammer: hand it an article URL and it drags the page back through the VPN with the paywall chrome, cookie wall and trackers stripped; a headless browser renders the JS-heavy ones. Best effort — hard paywalls and login walls still win.",
|
"description": "Paywall sledgehammer: hand it an article URL and it will attempt to smash its paywall. Note: does not work on all sites.",
|
||||||
"url": "http://marreta.franksdank.cloud",
|
"url": "http://marreta.franksdank.cloud",
|
||||||
"docs": "",
|
"docs": "",
|
||||||
"probe": "127.0.0.1:8082",
|
"probe": "127.0.0.1:8082",
|
||||||
|
|||||||
Reference in new issue
Block a user