# Конфигурация ## Переменные окружения Quoter использует следующие переменные окружения для настройки: ### Обязательные переменные | Переменная | Описание | Пример | |------------|----------|--------| | `REDIS_URL` | URL для подключения к Redis | `redis://localhost:6379` | | `CORE_URL` | URL для подключения к API ядра | `https://api.example.com/graphql` | | `STORJ_ACCESS_KEY` | Ключ доступа к Storj S3 | `your-storj-access-key` | | `STORJ_SECRET_KEY` | Секретный ключ Storj S3 | `your-storj-secret-key` | | `AWS_ACCESS_KEY` | Ключ доступа к AWS S3 | `your-aws-access-key` | | `AWS_SECRET_KEY` | Секретный ключ AWS S3 | `your-aws-secret-key` | ### Опциональные переменные | Переменная | Описание | По умолчанию | |------------|----------|--------------| | `PORT` | Порт для запуска сервера | `8080` | | `STORJ_END_POINT` | Endpoint Storj S3 | `https://gateway.storjshare.io` | | `STORJ_BUCKET_NAME` | Имя bucket в Storj | `discours-io` | | `AWS_END_POINT` | Endpoint AWS S3 | `https://s3.amazonaws.com` | | `RUST_LOG` | Уровень логирования | `info` | ## Пример .env файла ```bash # Redis REDIS_URL=redis://localhost:6379 # Core API CORE_URL=https://api.example.com/graphql # Storj S3 STORJ_ACCESS_KEY=your-storj-access-key STORJ_SECRET_KEY=your-storj-secret-key STORJ_END_POINT=https://gateway.storjshare.io STORJ_BUCKET_NAME=discours-io # AWS S3 AWS_ACCESS_KEY=your-aws-access-key AWS_SECRET_KEY=your-aws-secret-key AWS_END_POINT=https://s3.amazonaws.com # Server PORT=8080 RUST_LOG=info ``` ## Настройка Redis ### Минимальная конфигурация Redis ```redis # redis.conf maxmemory 2gb maxmemory-policy allkeys-lru save 900 1 save 300 10 save 60 10000 ``` ### Проверка подключения ```bash redis-cli ping ``` ## Настройка S3 ### Storj S3 1. Создайте аккаунт на [Storj](https://storj.io) 2. Создайте API ключи в консоли 3. Создайте bucket для файлов 4. Настройте CORS для bucket: ```json { "CORSRules": [ { "AllowedOrigins": ["*"], "AllowedMethods": ["GET", "POST", "PUT", "DELETE"], "AllowedHeaders": ["*"], "ExposeHeaders": ["ETag"] } ] } ``` ### AWS S3 1. Создайте IAM пользователя с правами S3 2. Создайте bucket для файлов 3. Настройте CORS аналогично Storj ## Логирование ### Уровни логирования - `error` - только ошибки - `warn` - предупреждения и ошибки - `info` - информационные сообщения, предупреждения и ошибки - `debug` - отладочная информация - `trace` - максимальная детализация ### Примеры ```bash # Только ошибки RUST_LOG=error cargo run # Информационные сообщения RUST_LOG=info cargo run # Отладка RUST_LOG=debug cargo run ``` ## Проверка конфигурации Запустите сервер и проверьте логи: ```bash RUST_LOG=info cargo run ``` Успешный запуск должен показать: ``` [INFO] Started [WARN] caching AWS filelist... [WARN] cached 1234 files ```