Настройки хранилища
Настройки → Дополнительно → Хранилище управляет местом хранения загруженных файлов LeadHub — вложения к лидам, изображения аватаров, архивы экспортов и загрузки форм.
Драйверы хранилища
| Драйвер | Когда использовать |
|---|---|
| Локальный (файловая система сервера) | По умолчанию. Файлы хранятся на диске сервера в storage/app/. Подходит для односерверных установок. |
| S3-совместимый | Для облачных развёртываний, CDN-доставки или при ограниченном дисковом пространстве сервера. Поддерживает AWS S3, DigitalOcean Spaces, MinIO, Backblaze B2, Cloudflare R2 и любого S3-совместимого провайдера. |
Локальное хранилище
Используется по умолчанию. Настройка не требуется. Файлы хранятся в:
/path/to/leadhub/storage/app/public/
Доступны по адресу https://yourdomain.com/storage/... через символическую ссылку storage, созданную при установке.
S3-совместимое хранилище
Шаг 1 — Выбор провайдера
| Провайдер | Примечания |
|---|---|
| AWS S3 | Наиболее распространён. Оставьте Endpoint URL пустым. |
| DigitalOcean Spaces | Endpoint: https://nyc3.digitaloceanspaces.com (замените регион) |
| MinIO (самостоятельный) | Endpoint: URL вашего сервера MinIO |
| Backblaze B2 | Endpoint: https://s3.us-west-004.backblazeb2.com (зависит от региона) |
| Cloudflare R2 | Endpoint: https://ACCOUNT_ID.r2.cloudflarestorage.com |
Шаг 2 — Создание корзины
- В панели управления провайдера создайте новую корзину (bucket).
- Установите корзину публичной для прямого публичного доступа к загруженным файлам (рекомендуется для аватаров и вложений форм).
- Запишите Имя корзины и Регион.
Шаг 3 — Создание ключей доступа
Сгенерируйте Access Key ID и Secret Access Key с правами на чтение/запись в корзине.
Шаг 4 — Настройка в LeadHub
- Перейдите в Настройки → Дополнительно → Хранилище.
- Установите Диск хранилища на S3-совместимый.
- Заполните поля: Endpoint URL, Имя корзины, Регион, Access Key ID, Secret Access Key.
- Нажмите Проверить подключение перед сохранением.
- Нажмите Сохранить настройки.
Проверка подключения
Нажмите Проверить подключение — LeadHub запишет небольшой тестовый файл в хранилище и немедленно удалит его. Уведомление ✅ означает успех. Уве домление ❌ показывает ошибку.
Миграция с локального на S3
- Настройте параметры S3 и проверьте подключение.
- Сохраните настройки — новые загрузки будут поступать в S3.
- Существующие файлы на локальном диске не переносятся автоматически. Скопируйте их вручную через CLI провайдера (например,
aws s3 sync storage/app/public s3://your-bucket).
Устранение неполадок
| Проблема | Решение |
|---|---|
| «Проверка подключения не удалась: Доступ запрещён» | Убедитесь, что Access Key имеет права на запись в корзину |
| Файлы недоступны публично | Убедитесь, что у корзины есть публичный ACL на чтение, или настройте CDN |
| Ошибка «NoSuchBucket» | Проверьте правильность имени корзины и региона |
| Ошибки Endpoint URL | Для не-AWS провайдеров убедитесь, что URL включает https:// |