No description
Добавлена переменная N8N_PROXY_HOPS=1 для корректной работы n8n за reverse proxy (Traefik). Это устраняет ValidationError "The 'X-Forwarded-For' header is set but the Express 'trust proxy' setting is false" при работе express-rate-limit. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com> |
||
|---|---|---|
| .claude | ||
| home | ||
| opt | ||
| secrets-backup | ||
| .gitignore | ||
| CLAUDE.md | ||
| README.md | ||
| system-backup-README.md | ||
| system-backup.sh | ||
OVHserver Infrastructure
Production infrastructure для AI-Impress с полной автоматизацией, мониторингом и системой бэкапов.
Сервер: ubuntu@51.89.231.46 GitHub: SamoilenkoVadym/OVHserver
Трёхуровневая система синхронизации
🔄 1. Syncthing (Реального времени)
Мгновенная двусторонняя синхронизация между Mac и сервером.
- Режим: Send & Receive (bidirectional)
- Папки:
/opt,/data,/home/ubuntu,/mnt - Автозапуск: systemd (сервер) + brew services (Mac)
- Скорость: 10-30 секунд
📦 2. GitHub (Версионный контроль)
Полная история изменений кода и конфигураций.
- Репозиторий: git@github.com:SamoilenkoVadym/OVHserver.git
- Автопуш: Через post-commit hook
- Защита: pre-commit hook блокирует коммит секретов
💾 3. rsync (Системный бэкап)
Полная копия сервера для восстановления.
- Назначение: Disaster recovery
- Запуск: По требованию
- Хранение:
/Volumes/SSD/Aimpress_Cloud_Prod/system-backup/
Структура проекта
.
├── opt/ # Основные проекты
│ ├── 00-infrastructure/ # Traefik, PostgreSQL, Redis, Vault, RabbitMQ
│ ├── 01-security/ # Authentik (SSO), Vaultwarden
│ ├── 02-core/ # n8n, Evolution API, Supabase
│ ├── 03-business/ # Odoo, Outline, Documenso, Wiki.js
│ ├── 04-tools/ # Portainer, Grafana, Monitoring, Uptime Kuma
│ ├── 05-backups/ # Бэкапы и скрипты (не в Git)
│ └── 06-webflow/ # Landing pages
├── data/ # Данные приложений
├── home/ # /home/ubuntu
├── mnt/ # Смонтированные диски
│ ├── backups/ # Бэкапы системы (6.8GB)
│ └── psql-data/ # Данные PostgreSQL
└── .claude/ # Документация для Claude Code
├── workflow.md # Рабочий процесс
└── project-structure.md # Детальная структура
Подробная документация в .claude/project-structure.md
Технологический стек
Инфраструктура
- Docker + Docker Compose - контейнеризация
- Traefik - reverse proxy с автоматическим SSL
- PostgreSQL - основная БД
- Redis - кэш и очереди
- RabbitMQ - message broker
Безопасность
- HashiCorp Vault - управление секретами
- Authentik - SSO (Single Sign-On)
- Vaultwarden - менеджер паролей
Мониторинг
- Prometheus + Grafana - метрики и дашборды
- Loki - агрегация логов
- Uptime Kuma - проверка доступности
Бизнес-приложения
- Odoo - ERP система
- n8n - workflow automation
- Evolution API - WhatsApp Business API
- Supabase - Backend-as-a-Service
- Outline - корпоративная wiki
- Documenso - электронная подпись
Быстрый старт
Проверка синхронизации
# Статус Syncthing на сервере
ssh ubuntu@51.89.231.46 "systemctl --user status syncthing"
# Статус на Mac
brew services list | grep syncthing
# Размер синхронизированных данных
du -sh /Volumes/SSD/Aimpress_Cloud_Prod/{opt,data,home}
Git операции
# Проверить статус
git status
# Посмотреть последние коммиты
git log --oneline -20
# Сделать коммит (push автоматический через hook)
git add .
git commit -m "feat: add new feature"
Доступ к сервисам
Все сервисы доступны через Traefik с автоматическим SSL:
- Portainer: portainer.domain.com
- Grafana: grafana.domain.com
- Authentik: authentik.domain.com
- Odoo: odoo.domain.com
- n8n: n8n.domain.com
Работа с проектом через Claude Code
Рабочий процесс
- Пользователь даёт задачу Claude
- Claude работает с локальными файлами на Mac
- Syncthing автоматически синхронизирует изменения на сервер (10-30 сек)
- Claude делает git commit с понятным сообщением
- Git hook автоматически пушит в GitHub
Формат коммитов
<type>: <short description>
<detailed explanation if needed>
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude <noreply@anthropic.com>
Типы коммитов:
feat:- новая функцияfix:- исправление багаrefactor:- рефакторинг кодаdocs:- документацияchore:- обслуживание (конфиги, зависимости)perf:- улучшение производительности
Полная документация в .claude/workflow.md
Безопасность
Git Hooks
pre-commit:
- Блокирует коммит файлов
.env,.key,.pem - Предупреждает о потенциальных секретах в коде
- Можно пропустить:
git commit --no-verify
post-commit:
- Автоматически пушит каждый коммит в GitHub
- Работает с ветками main/master
.gitignore
Исключены из Git:
- Зависимости:
node_modules,__pycache__,venv - Логи:
*.log,logs/ - Секреты:
.env,*.key,*.pem - Бэкапы:
05-backups/,*.sql.gz,*.tar.gz - Временные:
.cache,*.tmp,.DS_Store
Мониторинг и поддержка
Проверка здоровья сервисов
# Docker контейнеры
ssh ubuntu@51.89.231.46 "docker ps"
# Логи контейнера
ssh ubuntu@51.89.231.46 "docker logs <container_name>"
# Disk usage
ssh ubuntu@51.89.231.46 "df -h"
Бэкапы
- Автоматические: В
/opt/05-backups/ - Restic: Инкрементальные бэкапы
- Скрипты: В
/opt/05-backups/scripts/ - Документация:
/opt/05-backups/SCRIPTS-REGISTRY.md
Uptime Kuma
Мониторинг доступности всех сервисов 24/7 через веб-интерфейс.
Восстановление системы
Из rsync бэкапа
# Полное восстановление (осторожно!)
rsync -avz --progress /Volumes/SSD/Aimpress_Cloud_Prod/system-backup/ ubuntu@51.89.231.46:/
Из Git
# Откат к предыдущему коммиту
git log --oneline
git checkout <commit_hash> -- <file_path>
git commit -m "chore: rollback to <commit>"
Из Restic
# Посмотреть snapshots
restic snapshots
# Восстановить конкретный snapshot
restic restore <snapshot_id> --target /restore/path
Документация
- .claude/workflow.md - Рабочий процесс Claude Code
- .claude/project-structure.md - Детальная структура проекта
- opt/05-backups/SCRIPTS-REGISTRY.md - Реестр скриптов
- opt/05-backups/README-SCRIPTS.md - Документация скриптов
Контакты и поддержка
- GitHub Issues: SamoilenkoVadym/OVHserver/issues
- Сервер: ubuntu@51.89.231.46
Лицензия
Private repository - все права защищены.
Последнее обновление: 2025-11-05 Версия инфраструктуры: 1.0.0