Files
quoter/docs/configuration.md
Untone ea92a376ed
Some checks failed
CI / test (push) Failing after 4m0s
CI / lint (push) Failing after 4s
CI / deploy (push) Has been skipped
docs
2025-08-02 00:18:09 +03:00

3.5 KiB
Raw Blame History

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

Переменные окружения

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 файла

# 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.conf
maxmemory 2gb
maxmemory-policy allkeys-lru
save 900 1
save 300 10
save 60 10000

Проверка подключения

redis-cli ping

Настройка S3

Storj S3

  1. Создайте аккаунт на Storj
  2. Создайте API ключи в консоли
  3. Создайте bucket для файлов
  4. Настройте CORS для bucket:
{
  "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 - максимальная детализация

Примеры

# Только ошибки
RUST_LOG=error cargo run

# Информационные сообщения
RUST_LOG=info cargo run

# Отладка
RUST_LOG=debug cargo run

Проверка конфигурации

Запустите сервер и проверьте логи:

RUST_LOG=info cargo run

Успешный запуск должен показать:

[INFO] Started
[WARN] caching AWS filelist...
[WARN] cached 1234 files