Set up three-tier synchronization: Syncthing (real-time), GitHub (version control), rsync (disaster recovery). Includes complete documentation for future Claude sessions. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
14 KiB
Структура проекта OVHserver
Общая информация
Сервер: ubuntu@51.89.231.46 Локальная копия: /Volumes/SSD/Aimpress_Cloud_Prod/ GitHub: git@github.com:SamoilenkoVadym/OVHserver.git
Основная структура
/Volumes/SSD/Aimpress_Cloud_Prod/
├── opt/ # Основные проекты и сервисы
├── data/ # Данные приложений
├── home/ # Пользовательские файлы ubuntu
├── .git/ # Git репозиторий
├── .gitignore # Исключения для Git
├── .claude/ # Документация для Claude
│ ├── workflow.md # Рабочий процесс
│ └── project-structure.md # Этот файл
└── README.md # Общее описание
Детальная структура /opt
00-infrastructure/ — Инфраструктурные сервисы
Базовые компоненты инфраструктуры, необходимые для работы других сервисов.
00-infrastructure/
├── postgres/ # PostgreSQL база данных
│ ├── docker-compose.yml
│ └── data/ # Данные БД
├── redis/ # Redis кэш
├── rabbitmq/ # RabbitMQ message broker
├── traefik/ # Traefik reverse proxy
│ ├── docker-compose.yml
│ ├── traefik.yml # Основной конфиг
│ └── acme.json # SSL сертификаты
├── vault/ # HashiCorp Vault (секреты)
│ ├── docker-compose.yml
│ └── data/ # Хранилище секретов
├── blackbox/ # Blackbox Exporter (мониторинг)
└── loki/ # Loki (агрегация логов)
Назначение:
- PostgreSQL: Общая база данных для всех сервисов
- Redis: Кэширование и очереди задач
- RabbitMQ: Message broker для асинхронной обработки
- Traefik: Reverse proxy с автоматическим SSL
- Vault: Управление секретами и credentials
- Loki: Сбор и хранение логов
- Blackbox: Мониторинг доступности эндпоинтов
01-security/ — Безопасность и аутентификация
Сервисы для управления доступом и безопасностью.
01-security/
├── authentik/ # Authentik SSO (Single Sign-On)
│ ├── docker-compose.yml
│ ├── custom-templates/
│ └── media/ # Статические файлы
└── vaultwarden/ # Vaultwarden (менеджер паролей)
├── docker-compose.yml
└── data/ # Хранилище паролей
Назначение:
- Authentik: Единая система аутентификации (SSO) для всех сервисов
- Vaultwarden: Корпоративный менеджер паролей (Bitwarden compatible)
02-core/ — Ядро системы
Основные рабочие сервисы, критичные для бизнеса.
02-core/
├── n8n-shared/ # n8n (workflow automation) - общий
│ ├── docker-compose.yml
│ └── .n8n/ # Workflows и credentials
├── n8n-vip/ # n8n VIP instance (отдельный)
├── evolution-api/ # Evolution API (WhatsApp Business API)
│ ├── docker-compose.yml
│ ├── evolution-instances/ # Инстансы WhatsApp
│ └── evolution-store/ # Хранилище данных
└── supabase/ # Supabase (Backend-as-a-Service)
├── docker-compose.yml
└── volumes/ # Данные Supabase
Назначение:
- n8n: Автоматизация бизнес-процессов (workflow automation)
- n8n-shared: Для общих workflow
- n8n-vip: Для VIP клиентов или критичных задач
- Evolution API: WhatsApp Business API для мессенджер-интеграций
- Supabase: Backend с БД, Auth, Storage для приложений
03-business/ — Бизнес-приложения
Приложения для работы бизнеса и команды.
03-business/
├── odoo/ # Odoo ERP
│ ├── docker-compose.yml
│ ├── addons/ # Кастомные модули
│ ├── config/ # Конфигурация
│ └── filestore/ # Файлы и attachments
├── outline/ # Outline (корпоративная wiki)
│ ├── docker-compose.yml
│ └── data/ # Документы
├── documenso/ # Documenso (электронная подпись)
│ ├── docker-compose.yml
│ └── uploads/ # Загруженные документы
└── wikijs/ # Wiki.js (документация)
├── docker-compose.yml
└── data/ # Wiki контент
Назначение:
- Odoo: ERP система для управления бизнесом
- CRM, Sales, Inventory, Accounting, HR
- Кастомные модули в /addons
- Outline: Корпоративная база знаний (wiki)
- Documenso: Система электронного документооборота и подписи
- Wiki.js: Техническая документация
04-tools/ — Утилиты и мониторинг
Инструменты для управления и мониторинга инфраструктуры.
04-tools/
├── portainer/ # Portainer (Docker UI)
│ └── docker-compose.yml
├── grafana/ # Grafana (визуализация метрик)
│ ├── docker-compose.yml
│ └── dashboards/ # Дашборды
├── monitoring/ # Prometheus + Node Exporter
│ ├── prometheus/
│ ├── alertmanager/
│ └── node-exporter/
├── uptime-kuma/ # Uptime Kuma (мониторинг доступности)
│ └── docker-compose.yml
├── watchtower/ # Watchtower (авто-обновление Docker)
└── sftp/ # SFTP сервер
Назначение:
- Portainer: Web UI для управления Docker контейнерами
- Grafana: Дашборды для визуализации метрик
- Monitoring: Сбор метрик (CPU, RAM, disk, etc.)
- Uptime Kuma: Мониторинг доступности сервисов
- Watchtower: Автоматическое обновление Docker образов
- SFTP: Файловый сервер для обмена файлами
05-backups/ — Бэкапы и скрипты
Резервные копии, логи и административные скрипты.
⚠️ Исключено из Git (большие файлы, бинарные данные)
05-backups/
├── scripts/ # Bash скрипты для обслуживания
│ ├── backup-*.sh
│ ├── restore-*.sh
│ └── maintenance-*.sh
├── reports/ # Отчеты о бэкапах
├── logs/ # Логи бэкапов
├── data/ # Временные данные
├── config-versions/ # Версии конфигураций
├── credentials/ # Экспортированные credentials
├── restic/ # Restic бэкапы
├── docs/ # Документация по скриптам
├── SCRIPTS-REGISTRY.md # Реестр всех скриптов
└── README-SCRIPTS.md # Документация скриптов
Назначение:
- Автоматические бэкапы всех сервисов
- Скрипты для обслуживания и восстановления
- Логи всех операций
- Версионирование конфигураций
06-webflow/ — Webflow интеграция
Landing pages и интеграция с Webflow.
06-webflow/
└── landing/ # Landing page
├── index.html
├── css/
└── js/
Назначение:
- Публичные landing pages
- Интеграция с Webflow CMS
Другие файлы в /opt
/opt/
├── infrastructure-docs/ # Документация инфраструктуры
│ ├── setup-guides/
│ ├── troubleshooting/
│ └── architecture/
├── postiz-config/ # Конфигурация Postiz
├── containerd/ # Containerd данные (системные)
└── fix_odoo_pass.py # Утилита для сброса пароля Odoo
Структура /data
/data/
├── docker/ # Docker данные (volumes, overlay2)
├── app-data/ # Данные приложений
└── temp/ # Временные файлы
Назначение: Хранилище данных Docker контейнеров и приложений.
Структура /home/ubuntu
/home/ubuntu/
├── .ssh/ # SSH ключи
├── .bashrc # Bash конфигурация
├── scripts/ # Персональные скрипты
└── .local/ # Локальные данные пользователя
Назначение: Домашняя директория пользователя ubuntu.
Технологический стек
Оркестрация
- Docker + Docker Compose - контейнеризация всех сервисов
Reverse Proxy & SSL
- Traefik - автоматический SSL (Let's Encrypt), маршрутизация
Базы данных
- PostgreSQL - основная RDBMS
- Redis - кэш и очереди
- RabbitMQ - message broker
Безопасность
- HashiCorp Vault - управление секретами
- Authentik - SSO и Identity Provider
- Vaultwarden - менеджер паролей
Мониторинг
- Prometheus - сбор метрик
- Grafana - визуализация
- Loki - агрегация логов
- Uptime Kuma - проверка доступности
- Blackbox Exporter - HTTP/TCP мониторинг
Бизнес-приложения
- Odoo - ERP
- n8n - workflow automation
- Evolution API - WhatsApp Business API
- Supabase - BaaS
- Outline - wiki
- Documenso - e-signature
DevOps
- Portainer - Docker UI
- Watchtower - авто-обновления
- Restic - инкрементальные бэкапы
Сетевая архитектура
Internet
↓
Traefik (51.89.231.46:80/443)
↓
├→ authentik.domain.com → Authentik
├→ n8n.domain.com → n8n
├→ odoo.domain.com → Odoo
├→ outline.domain.com → Outline
├→ vault.domain.com → Vault
├→ portainer.domain.com → Portainer
├→ grafana.domain.com → Grafana
└→ etc.
Все сервисы доступны через Traefik с автоматическим SSL.
Важные замечания
Права доступа
- Большинство сервисов запущены от пользователя
ubuntu - Некоторые системные файлы (vault/data, containerd) принадлежат root
- Syncthing может не иметь доступа к root-файлам (это нормально)
Бэкапы
- Автоматические бэкапы в
/opt/05-backups/ - Restic для инкрементальных бэкапов
- Бэкапы НЕ коммитятся в Git (большие файлы)
Секреты
- Хранятся в HashiCorp Vault
- .env файлы исключены из Git
- Credentials в
/opt/05-backups/credentials/(не в Git)
Docker
- Все сервисы в Docker контейнерах
- docker-compose.yml для каждого сервиса
- Volumes в
/data/и локальных директориях
Зависимости между сервисами
Traefik (обязательно для всех)
↓
PostgreSQL (используется: Odoo, Outline, Authentik, n8n, Supabase)
↓
Redis (используется: Odoo, n8n, Outline)
↓
Vault (хранит секреты для всех сервисов)
↓
Authentik (SSO для: Outline, Grafana, Portainer, и др.)
Порядок запуска:
- Traefik
- PostgreSQL, Redis, RabbitMQ
- Vault
- Authentik
- Остальные сервисы
Полезные пути
Конфигурации
/opt/00-infrastructure/traefik/traefik.yml- основной конфиг Traefik/opt/*/docker-compose.yml- конфигурации всех сервисов
Логи
/opt/05-backups/logs/- логи бэкаповdocker logs <container>- логи контейнеров
Данные
/data/- Docker volumes/opt/*/data/- данные конкретных сервисов
Скрипты
/opt/05-backups/scripts/- административные скрипты/opt/05-backups/SCRIPTS-REGISTRY.md- список всех скриптов
Как найти нужный сервис
- Инфраструктура? →
00-infrastructure/ - Аутентификация? →
01-security/ - Автоматизация? →
02-core/n8n-* - CRM/ERP? →
03-business/odoo/ - Документация? →
03-business/outline/или03-business/wikijs/ - Мониторинг? →
04-tools/grafana/или04-tools/monitoring/ - Управление Docker? →
04-tools/portainer/ - Бэкапы? →
05-backups/
Обновления структуры
Этот документ должен обновляться при добавлении новых сервисов или изменении структуры проекта.
Последнее обновление: 2025-11-05