docs
This commit is contained in:
137
docs/configuration.md
Normal file
137
docs/configuration.md
Normal file
@@ -0,0 +1,137 @@
|
||||
# Конфигурация
|
||||
|
||||
## Переменные окружения
|
||||
|
||||
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
|
||||
```
|
||||
Reference in New Issue
Block a user