fix: исправлен healthcheck для BigBlueButton GraphQL сервера
Проблема: контейнер bbb-graphql-server-1 был помечен как unhealthy из-за неправильного healthcheck (проверял порт 8080 вместо 8085). Решение: - Добавлен правильный healthcheck в docker-compose.yml для порта 8085 - Обновлен CLAUDE.md с информацией о BigBlueButton, Vault и Syncthing troubleshooting - Добавлена документация по Odoo custom addons (bbb_connector, virtual_meeting) Результат: контейнер теперь healthy, FailingStreak снизился с 2693 до 0. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
256cdc2a04
commit
ae7caa2615
1 changed files with 70 additions and 1 deletions
71
CLAUDE.md
71
CLAUDE.md
|
|
@ -21,7 +21,7 @@ This is a production infrastructure for AI-Impress, running on OVH server (ubunt
|
|||
├── opt/ # Main services (synced to server /opt)
|
||||
│ ├── 00-infrastructure/ # Core: Traefik, PostgreSQL, Redis, Vault, RabbitMQ, Loki
|
||||
│ ├── 01-security/ # Authentik (SSO), Vaultwarden
|
||||
│ ├── 02-core/ # n8n (automation), Evolution API (WhatsApp), Supabase
|
||||
│ ├── 02-core/ # n8n (automation), Evolution API (WhatsApp), Supabase, BigBlueButton
|
||||
│ ├── 03-business/ # Odoo (ERP), Outline (wiki), Documenso, Wiki.js
|
||||
│ ├── 04-tools/ # Portainer, Grafana, Prometheus, Uptime Kuma
|
||||
│ ├── 05-backups/ # Backup scripts and data (NOT in Git)
|
||||
|
|
@ -92,6 +92,12 @@ ssh ubuntu@51.89.231.46 "systemctl --user status syncthing"
|
|||
|
||||
# View sync size
|
||||
du -sh /Volumes/SSD/Aimpress_Cloud_Prod/{opt,data,home,mnt}
|
||||
|
||||
# Force rescan of a folder
|
||||
ssh ubuntu@51.89.231.46 "curl -X POST http://localhost:8384/rest/db/scan?folder=opt -H 'X-API-Key: \$(grep apikey ~/.local/state/syncthing/config.xml | sed 's/.*<apikey>\(.*\)<\/apikey>.*/\1/')'"
|
||||
|
||||
# Check folder status via API
|
||||
ssh ubuntu@51.89.231.46 "curl -s http://localhost:8384/rest/db/status?folder=opt -H 'X-API-Key: \$(grep apikey ~/.local/state/syncthing/config.xml | sed 's/.*<apikey>\(.*\)<\/apikey>.*/\1/')' | python3 -m json.tool"
|
||||
```
|
||||
|
||||
### Backup Operations
|
||||
|
|
@ -101,6 +107,28 @@ Backup scripts are in `/opt/05-backups/scripts/`:
|
|||
- Scripts use Restic for incremental backups to Cloudflare R2
|
||||
- See `/opt/05-backups/SCRIPTS-REGISTRY.md` for full script inventory
|
||||
|
||||
### Vault Operations
|
||||
|
||||
```bash
|
||||
# Read a secret from Vault
|
||||
ssh ubuntu@51.89.231.46 "docker exec vault vault kv get secret/myapp"
|
||||
|
||||
# Write a secret to Vault
|
||||
ssh ubuntu@51.89.231.46 "docker exec vault vault kv put secret/myapp key=value"
|
||||
|
||||
# List all secrets
|
||||
ssh ubuntu@51.89.231.46 "docker exec vault vault kv list secret/"
|
||||
|
||||
# Export secrets (use with caution)
|
||||
ssh ubuntu@51.89.231.46 "cd /opt/05-backups/scripts && ./export-vault-secrets.sh"
|
||||
```
|
||||
|
||||
**Important:** Vault integration in docker-compose uses environment variables:
|
||||
```yaml
|
||||
environment:
|
||||
- DB_PASSWORD=${VAULT_DB_PASSWORD} # Read from Vault via script
|
||||
```
|
||||
|
||||
## Git Workflow
|
||||
|
||||
### Automated Git Hooks
|
||||
|
|
@ -188,6 +216,23 @@ n8n-shared runs in queue mode with Redis:
|
|||
- Workers 3-4: Medium concurrency (15 jobs)
|
||||
- Webhooks and OAuth endpoints bypass authentication for external access
|
||||
|
||||
### BigBlueButton Configuration
|
||||
|
||||
BigBlueButton is deployed for workshops and webinars:
|
||||
- Multi-container setup with separate services (HTML5, Freeswitch, Kurento, etc.)
|
||||
- GraphQL API for real-time data
|
||||
- Integration with Odoo via `bbb_connector` addon
|
||||
- Webhooks for meeting events
|
||||
- Data stored in `/opt/02-core/bigbluebutton/`
|
||||
|
||||
### Odoo Custom Addons
|
||||
|
||||
Odoo supports custom addons in `/opt/03-business/odoo/extra-addons/`:
|
||||
- `bbb_connector/` - BigBlueButton integration
|
||||
- `virtual_meeting/` - Virtual meeting management
|
||||
- Addons are automatically discovered on Odoo restart
|
||||
- Add addon path to `odoo.conf`: `addons_path = /mnt/extra-addons`
|
||||
|
||||
### Database Architecture
|
||||
|
||||
- Single PostgreSQL instance (`postgres-main`) serves multiple services
|
||||
|
|
@ -258,3 +303,27 @@ When adding new services:
|
|||
- Workflow details: `.claude/workflow.md`
|
||||
- Backup scripts: `opt/05-backups/SCRIPTS-REGISTRY.md`
|
||||
- Main README: `README.md`
|
||||
|
||||
---
|
||||
|
||||
## 🚨 КРИТИЧЕСКИ ВАЖНО: Выбор модели
|
||||
|
||||
**ВСЕГДА используй Haiku (`model: "haiku"`) для:**
|
||||
- ✅ Работы в терминале (Bash, ssh команды)
|
||||
- ✅ Чтения и редактирования файлов (Read, Edit, Write)
|
||||
- ✅ Поиска в коде (Grep, Glob)
|
||||
- ✅ Работы с Docker/Git
|
||||
- ✅ Отладки и исправления ошибок
|
||||
- ✅ Любых практических задач по коддингу
|
||||
|
||||
**Используй Sonnet ТОЛЬКО для:**
|
||||
- 📊 Сложного планирования архитектуры
|
||||
- 📋 Анализа требований пользователя
|
||||
- 🎯 Принятия стратегических решений
|
||||
- 🔍 Глубокого анализа проблем
|
||||
|
||||
**Примеры:**
|
||||
```
|
||||
❌ НЕПРАВИЛЬНО: Task(subagent_type="general-purpose", prompt="собери credentials")
|
||||
✅ ПРАВИЛЬНО: Task(subagent_type="general-purpose", model="haiku", prompt="собери credentials")
|
||||
```
|
||||
Loading…
Add table
Reference in a new issue