94 lines
2.3 KiB
Markdown
94 lines
2.3 KiB
Markdown
# مرجع پیکربندی
|
|
|
|
BaraDB از **متغیرهای محیطی**، **فایل پیکربندی** یا **پرچمهای خط فرمان** پیکربندی میشود.
|
|
|
|
## اولویت
|
|
|
|
1. پرچمهای خط فرمان (بالاترین)
|
|
2. متغیرهای محیطی
|
|
3. فایل پیکربندی (`baradb.conf` یا `baradb.json`)
|
|
4. مقادیر پیشفرض (پایینترین)
|
|
|
|
## متغیرهای محیطی
|
|
|
|
### شبکه
|
|
|
|
| متغیر | پیشفرض | توضیح |
|
|
|--------|---------|--------|
|
|
| `BARADB_ADDRESS` | `127.0.0.1` | آدرس اتصال |
|
|
| `BARADB_PORT` | `9472` | پورت پروتکل باینری |
|
|
| `BARADB_HTTP_PORT` | `9470` | پورت HTTP/REST API |
|
|
| `BARADB_WS_PORT` | `9471` | پورت WebSocket |
|
|
|
|
### ذخیرهسازی
|
|
|
|
| متغیر | پیشفرض | توضیح |
|
|
|--------|---------|--------|
|
|
| `BARADB_DATA_DIR` | `./data` | مسیر پوشه داده |
|
|
| `BARADB_MEMTABLE_SIZE_MB` | `64` | اندازه MemTable (MB) |
|
|
| `BARADB_CACHE_SIZE_MB` | `256` | اندازه کش صفحه (MB) |
|
|
|
|
### TLS/SSL
|
|
|
|
| متغیر | پیشفرض | توضیح |
|
|
|--------|---------|--------|
|
|
| `BARADB_TLS_ENABLED` | `false` | فعالسازی TLS |
|
|
| `BARADB_CERT_FILE` | — | مسیر گواهی TLS |
|
|
| `BARADB_KEY_FILE` | — | مسیر کلید TLS |
|
|
|
|
### امنیت
|
|
|
|
| متغیر | پیشفرض | توضیح |
|
|
|--------|---------|--------|
|
|
| `BARADB_AUTH_ENABLED` | `false` | فعالسازی احراز هویت |
|
|
| `BARADB_JWT_SECRET` | — | رمز امضای JWT |
|
|
|
|
## فایل پیکربندی
|
|
|
|
### baradb.conf
|
|
|
|
```ini
|
|
[server]
|
|
address = "0.0.0.0"
|
|
port = 9472
|
|
http_port = 9470
|
|
|
|
[storage]
|
|
data_dir = "/var/lib/baradb"
|
|
memtable_size_mb = 256
|
|
cache_size_mb = 512
|
|
|
|
[tls]
|
|
enabled = true
|
|
cert_file = "/etc/baradb/server.crt"
|
|
key_file = "/etc/baradb/server.key"
|
|
|
|
[auth]
|
|
enabled = true
|
|
jwt_secret = "change-me-in-production"
|
|
```
|
|
|
|
## پرچمهای خط فرمان
|
|
|
|
```bash
|
|
./build/baradadb --help
|
|
```
|
|
|
|
## نمونه پیکربندیها
|
|
|
|
### توسعه
|
|
|
|
```bash
|
|
./build/baradadb --log-level debug --data-dir ./dev_data
|
|
```
|
|
|
|
### تولید - گره واحد
|
|
|
|
```bash
|
|
BARADB_TLS_ENABLED=true \
|
|
BARADB_AUTH_ENABLED=true \
|
|
BARADB_JWT_SECRET="$(openssl rand -hex 32)" \
|
|
BARADB_MEMTABLE_SIZE_MB=256 \
|
|
BARADB_CACHE_SIZE_MB=1024 \
|
|
./build/baradadb
|
|
``` |