Files
homelab/userbot/panel
forustandClaude Opus 4.8 3a05d86e3e ci: run svelte-check, which was already a dependency with no script
svelte-check sits in devDependencies at ^4.7.3 and nothing in the repository
ever invoked it, so the type errors it reports had no path to a human. Point a
script at it and run it in the frontend job, and it is clean: 0 errors, 0
warnings.

It shares the one `npm ci` with the test step. A second install would have
doubled the slowest part of the job to learn exactly the same thing.

The lockfile is untouched, because scripts are not part of what it pins.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-09-27 10:24:18 +02:00
..

Userbot Control Panel

Локальная панель управляет userbot-инстансами напрямую через Kubernetes API. Новые аккаунты создаются в namespace userbot; существующие forust и anna остаются в default и принимаются под управление только через metadata labels.

Первый запуск

Скопировать общий Secret в новый namespace, не печатая его значения:

kubectl create namespace userbot --dry-run=client -o yaml | kubectl apply -f -
kubectl get secret userbot-common-secrets -n default -o json \
  | jq 'del(.metadata.annotations,.metadata.creationTimestamp,.metadata.resourceVersion,.metadata.uid,.metadata.managedFields) | .metadata.namespace = "userbot"' \
  | kubectl apply -f -

Затем применить манифесты:

kubectl apply -f userbot/k8s/base/panel.yaml
kubectl apply -f userbot/k8s/base/userbots.yaml
kubectl rollout status deployment/userbot-panel -n userbot

Панель доступна только через внутренний Traefik route: https://userbot.workstation.internal.

Локальная разработка

cd userbot/panel/frontend
npm install
npm run dev

Backend использует in-cluster config, а вне кластера — текущий kubeconfig:

cd userbot/panel/backend
uv run --with-requirements requirements-dev.txt \
  uvicorn app.main:app --reload --port 8080