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

137 lines
3.5 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Конфигурация
## Переменные окружения
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
```