docs: migrate Authentik (SSO keystone) to edge2 CT 105

- Authentik -> edge2 CT 105 (Postgres pg_dump/restore; SECRET_KEY carried verbatim; zero-downtime until ~2s cutover)
- Multi-block Caddy cutover: auth.echo6.co + notes.echo6.co outpost/forward_auth -> 100.64.0.36:9000
- runbook: add reboot tailscale-before-docker gotcha; clarify dnsmasq must NOT be repointed (points at Caddy host)
- source left stopped + intact on Contabo as cold rollback

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
Matt Johnson 2026-06-18 05:49:07 +00:00
commit 44f0257376
140 changed files with 4013 additions and 24 deletions

View file

@ -1,49 +0,0 @@
/*
* Echo6 Theme Toggle for Open WebUI
* Adds a small button (bottom-right) that toggles the .echo6 class
* on <html>, activating/deactivating the companion CSS theme.
* Persists preference in localStorage.
*/
(function () {
'use strict';
var STORAGE_KEY = 'echo6-theme-active';
var html = document.documentElement;
// Restore saved state immediately (before paint if possible)
var saved = localStorage.getItem(STORAGE_KEY);
if (saved === 'true') {
html.classList.add('echo6');
}
function createToggle() {
// Don't double-inject
if (document.getElementById('echo6-toggle')) return;
var btn = document.createElement('button');
btn.id = 'echo6-toggle';
btn.textContent = 'E6';
btn.title = 'Toggle Echo6 theme';
btn.setAttribute('aria-label', 'Toggle Echo6 theme');
// Sync active state with current class
if (html.classList.contains('echo6')) {
btn.classList.add('active');
}
btn.addEventListener('click', function () {
var isActive = html.classList.toggle('echo6');
btn.classList.toggle('active', isActive);
localStorage.setItem(STORAGE_KEY, isActive ? 'true' : 'false');
});
document.body.appendChild(btn);
}
// Inject once DOM is ready
if (document.readyState === 'loading') {
document.addEventListener('DOMContentLoaded', createToggle);
} else {
createToggle();
}
})();