Хранилище файлов
Aulynk поддерживает два режима хранения загруженных файлов: локальную файловую систему и S3-совместимое объектное хранилище.
Локальное хранилище
По умолчанию файлы сохраняются в каталог, указанный в uploads.dir. Параметр max_size_mb ограничивает максимальный размер одного файла.
uploads:
dir: "../uploads"
max_size_mb: 50
dir-- относительный или абсолютный путь к каталогу. Создаётся автоматически при первом запуске.max_size_mb-- лимит в мегабайтах на один файл (по умолчанию 50).
Убедитесь, что у процесса Aulynk есть права на запись в указанный каталог.
S3-совместимое хранилище
Для масштабируемого хранения файлов можно подключить любой S3-совместимый сервис. При указании S3-конфигурации новые файлы загружаются в бакет, а локальный каталог используется для временного кеша.
uploads:
dir: "../uploads"
max_size_mb: 50
s3:
bucket: "aulynk-files"
prefix: "uploads"
endpoint: "s3.amazonaws.com"
region: "us-east-1"
accessKeyId: "AKIAIOSFODNN7EXAMPLE"
secretAccessKey: "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLE"
Параметры S3
| Параметр | Описание |
|---|---|
bucket | Имя бакета |
prefix | Префикс ключей внутри бакета (например, uploads) |
endpoint | Адрес S3 API |
region | Регион бакета |
accessKeyId | Ключ доступа |
secretAccessKey | Секретный ключ |
Примеры конфигурации
Yandex Cloud Object Storage
uploads:
dir: "../uploads"
max_size_mb: 100
s3:
bucket: "my-aulynk"
prefix: "files"
endpoint: "storage.yandexcloud.net"
region: "ru-central1"
accessKeyId: "YCAJExxxxxxxxxx"
secretAccessKey: "YCxxxxxxxxxxxxxxxxxx"
AWS S3
uploads:
dir: "../uploads"
max_size_mb: 100
s3:
bucket: "aulynk-production"
prefix: "uploads"
endpoint: "s3.amazonaws.com"
region: "eu-west-1"
accessKeyId: "AKIA..."
secretAccessKey: "..."
Beget S3
uploads:
dir: "../uploads"
max_size_mb: 50
s3:
bucket: "aulynk"
prefix: "uploads"
endpoint: "s3.beget.com"
region: "ru-1"
accessKeyId: "..."
secretAccessKey: "..."
Миграция между локальным и S3
Переключение между режимами хранения доступно через админ-панель:
- Откройте Админ-панель > Файлы.
- Убедитесь, что S3-конфигурация заполнена в
config.yaml. - Выполните миграцию -- существующие файлы будут скопированы в новое хранилище.
- После завершения миграции новые файлы будут загружаться в S3.
При обратной миграции (S3 -> локальное) файлы скачиваются из бакета в локальный каталог. Рекомендуется проверить наличие достаточного дискового пространства перед началом.