82 lines
2 KiB
Markdown
82 lines
2 KiB
Markdown
# Local development configuration
|
|
|
|
This directory holds the default config for running VNOX on your machine.
|
|
|
|
## File: `config.toml`
|
|
|
|
```toml
|
|
[node]
|
|
name = "dev-node"
|
|
address = "127.0.0.1"
|
|
|
|
[gateway]
|
|
bind = "127.0.0.1:7600"
|
|
max_connections = 100
|
|
session_timeout = 600
|
|
|
|
[voice]
|
|
bind = "127.0.0.1:7700"
|
|
|
|
[storage]
|
|
data_dir = "./dev/data"
|
|
backend = "sqlite"
|
|
sqlite_path = "./dev/data/vnox.db"
|
|
```
|
|
|
|
### Sections
|
|
|
|
**`[node]`**
|
|
|
|
- `name` - shown to clients after connect (HELLO / session UI).
|
|
- `address` - public node address for future federation; local dev uses loopback.
|
|
|
|
**`[gateway]`**
|
|
|
|
- `bind` - TCP listen address for client connections. Default dev port: `7600`.
|
|
- `max_connections` - connection cap (not enforced in all code paths yet).
|
|
- `session_timeout` - session lifetime in seconds; sent to clients as `expires_at`.
|
|
|
|
**`[voice]`**
|
|
|
|
- `bind` - UDP listen address for voice relay. Default dev port: `7700`.
|
|
- Sent to clients as `voice_endpoint` when they join a channel.
|
|
|
|
**`[storage]`**
|
|
|
|
- `data_dir` - gateway data directory; stores SQLite DB and `server_identity.json`.
|
|
- `sqlite_path` - SQLite database file for chat history and user records.
|
|
|
|
## First run
|
|
|
|
```sh
|
|
mkdir -p dev/data
|
|
|
|
cargo run -p vnox-gateway -- --config dev/config.toml
|
|
cargo run -p vnox-voice-node -- --config dev/config.toml
|
|
cargo run -p vnox-client
|
|
```
|
|
|
|
On first gateway start, `dev/data/server_identity.json` is created automatically.
|
|
Back it up if you care about a stable server identity across reinstalls.
|
|
|
|
## E2E voice test
|
|
|
|
With gateway and voice-node running:
|
|
|
|
```sh
|
|
cargo run -p vnox-client --bin vnox-e2e-voice
|
|
```
|
|
|
|
This headless test connects two TCP clients, joins the `voice` channel, sends UDP packets, and verifies the voice-node relays between them. Exit code 0 means pass.
|
|
|
|
## Logs
|
|
|
|
Set log level via environment variable:
|
|
|
|
```sh
|
|
VNOX_LOG=debug cargo run -p vnox-gateway -- --config dev/config.toml
|
|
```
|
|
|
|
## Full reference
|
|
|
|
Production-oriented options: [docs/03-server/configuration.md](../docs/03-server/configuration.md).
|