| 1 | # Homelab sidecar services |
| 2 | |
| 3 | Version-controlled copies of the NAS-side scripts that support this |
| 4 | SillyTavern deployment. The deployed copies live on the unraid NAS; when |
| 5 | changing one, update both (scp to the NAS path + commit here). |
| 6 | |
| 7 | | File | Deployed at | Purpose | |
| 8 | |---|---|---| |
| 9 | | `whisper-lazy-proxy.py` | `/mnt/user/appdata/whisper-lazy/proxy.py` (container `whisper-lazy`, :10300) | Wyoming lazy proxy: answers HA availability checks from cache, starts `faster-whisper` on demand, stops it after 15 min idle (frees GPU VRAM). | |
| 10 | | `unraid/my-sillytavern.xml` | `/boot/config/plugins/dockerMan/templates-user/my-sillytavern.xml` | Unraid template for the GitGudLab `:latest` image and persistent config/data/plugin mounts. | |
| 11 | | `unraid/bootstrap-sillytavern.sh` | `/boot/config/bootstrap-sillytavern.sh` | Recovery bootstrap used when the container or DockerMan template is absent. | |
| 12 | | `unraid/redeploy-sillytavern.sh` | `/boot/config/redeploy-sillytavern.sh` | Recreates the container through Unraid's own updater so template and update-state bookkeeping stay authoritative. | |
| 13 | | `unraid/registry-autoupdate.sh` | `/boot/config/registry-autoupdate.sh` | Polls the configured container tags and invokes their Unraid-managed redeploy scripts when an image changes. | |
| 14 | |
| 15 | ## SillyTavern image deployment |
| 16 | |
| 17 | The NAS now runs the official stable release image, |
| 18 | `ghcr.io/sillytavern/sillytavern:latest`. permissionBRICK features live in |
| 19 | persistent public browser/server extensions instead of a custom image. |
| 20 | |
| 21 | On Unraid, Community Applications Auto Update has `sillytavern` enabled. A |
| 22 | shared registry poller additionally checks the official tag every two minutes |
| 23 | and invokes `redeploy-sillytavern.sh` when its image ID changes. Do not point |
| 24 | the DockerMan template at a different image while leaving that poller enabled: |
| 25 | the poller and template would otherwise continually disagree and recreate the |
| 26 | container. |
| 27 | |
| 28 | The persistent UI extensions live below |
| 29 | `data/default-user/extensions` and are discovered through the data mount. Do |
| 30 | not restore the obsolete `/home/node/app/public/scripts/extensions/third-party` |
| 31 | bind mount. `config.yaml` is a single-file bind mounted at |
| 32 | `/home/node/app/config`; plugins remain mounted at `/home/node/app/plugins`. |
| 33 | |
| 34 | Related: the RunPod worker image (ComfyUI + custom nodes + boot-time model |
| 35 | downloader) is built from github.com/permissionBRICK/comfyui-runpod-worker |
| 36 | (private repo, public GHCR package; mirrored on this GitGudLab). |
| 37 | |
| 38 | The RunPod lazy proxy, CLI, tests, container image, and Unraid template moved to |
| 39 | the public `permissionBRICK/ST-RunPodProxy` repository. Image Provider |
| 40 | Extensions links to that service as its optional RunPod backend. Its published |
| 41 | container is also checked by `registry-autoupdate.sh` and redeployed through |
| 42 | DockerMan when `latest` changes. |