Git history was lost when the previous Gitea instance was wiped and reinstalled due to an unresolved corruption bug — this commit is the last known-good file content, exported before the reinstall. Prior commit history is not recoverable through this path.
32 lines
1.8 KiB
Markdown
32 lines
1.8 KiB
Markdown
# top-tickets
|
|
|
|
Хелпдеск-система: тикеты, дашборд по статусам, канал Telegram, realtime-обновления без перезагрузки страницы, отдельный клиентский портал. MVP-1 — см. `/root/.claude/plans/refactored-discovering-corbato.md` за архитектурой и тем, что отложено на MVP-2 (email, встраиваемый виджет).
|
|
|
|
## Запуск в Docker
|
|
|
|
```bash
|
|
cp .env.example .env
|
|
npm run generate-key # вставить результат в CREDENTIALS_ENCRYPTION_KEY
|
|
# заполнить ADMIN_BOOTSTRAP_EMAIL / ADMIN_BOOTSTRAP_PASSWORD / TELEGRAM_BOT_TOKEN в .env
|
|
|
|
docker compose up --build -d
|
|
```
|
|
|
|
Приложение слушает `:8081` (уже проброшено внешним nginx на `help.top-sysops.ru`). При первом старте контейнер сам применяет миграции и создаёт админ-аккаунт из `.env`.
|
|
|
|
## Локальная разработка
|
|
|
|
```bash
|
|
npm install
|
|
cp .env.example .env # + generate-key, как выше
|
|
npm run db:migrate
|
|
npm run bootstrap-admin
|
|
npm run dev
|
|
```
|
|
|
|
## Telegram
|
|
|
|
Подключается через **Настройки → Telegram** в интерфейсе (или через `TELEGRAM_BOT_TOKEN` в `.env` — сработает только при первом старте, если бот ещё не настроен). Чтобы бот видел все сообщения в группе, а не только с упоминанием — `@BotFather` → `/setprivacy` → `Disable`.
|
|
|
|
Токен, который прислали в чат Claude Code, стоит перевыпустить (`@BotFather` → `/revoke`) — он засветился в истории сессии.
|