OVHserver/.claude/project-structure.md
SamoilenkoVadym a987d45fbc chore: initial infrastructure setup with Syncthing, Git and documentation
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>
2025-11-05 16:41:12 +00:00

14 KiB
Raw Blame History

Структура проекта 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, и др.)

Порядок запуска:

  1. Traefik
  2. PostgreSQL, Redis, RabbitMQ
  3. Vault
  4. Authentik
  5. Остальные сервисы

Полезные пути

Конфигурации

  • /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 - список всех скриптов

Как найти нужный сервис

  1. Инфраструктура?00-infrastructure/
  2. Аутентификация?01-security/
  3. Автоматизация?02-core/n8n-*
  4. CRM/ERP?03-business/odoo/
  5. Документация?03-business/outline/ или 03-business/wikijs/
  6. Мониторинг?04-tools/grafana/ или 04-tools/monitoring/
  7. Управление Docker?04-tools/portainer/
  8. Бэкапы?05-backups/

Обновления структуры

Этот документ должен обновляться при добавлении новых сервисов или изменении структуры проекта.

Последнее обновление: 2025-11-05