Monorepo: Gitea CI, docs, auth/sync, backend APIs, gitignore
- Add Gitea Actions workflow; point README to gitea.d-bis.org/Sankofa_Phoenix/SMOA - Expand .gitignore for Spring H2 data, secrets, Kotlin .kotlin/, tooling - Track docs/api/generated ReDoc bundle; refresh api docs README - Android: network/auth/sync, UI shell, tests; backend credentials/integrity APIs - Docs, scripts (generate-api-docs), modules and core updates Made-with: Cursor
This commit is contained in:
@@ -0,0 +1,29 @@
|
||||
# TURN and signaling for WebRTC
|
||||
|
||||
For meetings and communications beyond STUN-only NAT traversal:
|
||||
|
||||
## Coturn (TURN/STUN)
|
||||
|
||||
Example `turnserver.conf`:
|
||||
|
||||
```conf
|
||||
listening-port=3478
|
||||
tls-listening-port=5349
|
||||
realm=smoa.example.com
|
||||
server-name=smoa.example.com
|
||||
use-auth-secret
|
||||
static-auth-secret=YOUR_LONG_SECRET
|
||||
cert=/etc/letsencrypt/live/smoa.example.com/fullchain.pem
|
||||
pkey=/etc/letsencrypt/live/smoa.example.com/privkey.pem
|
||||
```
|
||||
|
||||
Issue **time-limited credentials** (HMAC) from your backend; Android app passes them via `InfrastructureManager.setTurnEndpoints`.
|
||||
|
||||
## Signaling
|
||||
|
||||
Use **WebSocket** or **HTTPS long-poll** between clients and a small Node/Go/Java service that maps room IDs to SDP/ICE relay. Set `SMOA_SIGNALING_URLS` (comma-separated) in the Android build for `InfrastructureManager`.
|
||||
|
||||
## Related
|
||||
|
||||
- [nginx-smoa.conf.example](./nginx-smoa.conf.example) – TLS termination
|
||||
- [docker-compose.yml](../../docker-compose.yml) – backend container
|
||||
Reference in New Issue
Block a user