# RUNBOOK — Deploy Echo6 Theme to Open WebUI > **STATUS: COMPLETED** — 2026-02-17 > Theme deployed to https://ai.echo6.co. Open WebUI runs in Docker (not native as originally stated). > Theme files bind-mounted from `/home/zvx/echo6-theme/` into container via docker-compose.yml. > Compose path: `/opt/open-webui/docker-compose.yml` on cortex. ## OBJECTIVE Apply the togglable Echo6 custom CSS theme to the Open WebUI instance running at ai.echo6.co. The instance runs in Docker on the `cortex` VM. The theme is toggled on/off via a small "E6" button in the bottom-right corner, with the preference persisted in localStorage per browser. ## THEME FILES Located in this project's reference assets: ``` .ref/assets/echo6-openwebui-theme.css # Theme styles (activates via .echo6 class on ) .ref/assets/echo6-theme-toggle.js # Toggle button + localStorage persistence ``` ## SAFETY FIRST — BACKUP BEFORE ANYTHING Before making ANY changes: 1. **Find the Open WebUI static build directory.** Likely locations: - Check: `pip show open-webui 2>/dev/null` for the install path - Search: `find / -name "index.html" -path "*/open*webui*" 2>/dev/null` - Search: `find / -name "app.html" -path "*/open*webui*" 2>/dev/null` - Common pip paths: `/usr/lib/python3/dist-packages/open_webui/static/` 2. Once found, identify the **root HTML file** (likely `index.html` or `app.html`). 3. **Create a timestamped backup:** ```bash OWUI_DIR="/path/to/open-webui/build" # ← set this once found BACKUP_DIR="/home/matt/backups/openwebui-theme-$(date +%Y%m%d-%H%M%S)" mkdir -p "$BACKUP_DIR" cp -a "$OWUI_DIR" "$BACKUP_DIR/" echo "Backed up to: $BACKUP_DIR" ``` 4. **Create a revert script** at `/home/matt/revert-openwebui-theme.sh`: ```bash #!/bin/bash # Revert Echo6 theme — restores original Open WebUI files BACKUP_DIR="" OWUI_DIR="" echo "[REVERT] Restoring Open WebUI from $BACKUP_DIR" cp -a "$BACKUP_DIR"/* "$OWUI_DIR/" echo "[REVERT] Done. Restart Open WebUI service if needed." ``` Make it executable: `chmod +x /home/matt/revert-openwebui-theme.sh` ## DEPLOYMENT STEPS ### Step 1: Copy theme files to Open WebUI static directory ```bash cp .ref/assets/echo6-openwebui-theme.css "$OWUI_DIR/static/" cp .ref/assets/echo6-theme-toggle.js "$OWUI_DIR/static/" ``` Also keep persistent copies that survive upgrades: ```bash mkdir -p /home/matt/echo6-theme cp .ref/assets/echo6-openwebui-theme.css /home/matt/echo6-theme/ cp .ref/assets/echo6-theme-toggle.js /home/matt/echo6-theme/ ``` ### Step 2: Inject into the root HTML Find the root HTML file and add BOTH a `` and a `\n|' "$OWUI_DIR/index.html" ``` **IMPORTANT:** Check existing `` and `\n|' "$OWUI_DIR/index.html" ``` Or just re-run this runbook from the top.