Updated project identity/configs to match Nyone

This commit is contained in:
2026-05-15 17:49:00 +03:30
parent 3a2bd57f23
commit 205e2af253
18 changed files with 82 additions and 38 deletions

View File

@@ -1,6 +1,13 @@
# Nyone
Nyone is a Laravel/Inertia live streaming platform scaffold. The first implementation supports one creator channel per user, OBS publishing through MediaMTX RTMP, HLS playback, channel follows, live chat, creator-selected VOD recording, and basic admin moderation.
Nyone is a Laravel/Inertia live streaming platform. The current implementation supports one creator channel per user, OBS publishing through MediaMTX RTMP, HLS playback, channel follows, live chat, creator-selected VOD recording, and basic admin moderation.
## Stack
- Laravel 13, Fortify auth, Inertia.
- React 19, TypeScript, Tailwind CSS 4, Radix UI primitives.
- MediaMTX for RTMP ingest, HLS playback, stream auth hooks, lifecycle hooks, and recordings.
- PostgreSQL is the production target; SQLite is fine for local development.
## Local Setup
@@ -14,11 +21,45 @@ npm run dev
php artisan serve
```
Configure MediaMTX from `deploy/mediamtx.yml.example`, replacing `change-this-secret` with `MEDIAMTX_SHARED_SECRET`.
For local development, override these values in `.env` if you are not using the production domains:
```env
APP_URL=http://127.0.0.1:8000
STREAMING_RTMP_INGEST_URL=rtmp://127.0.0.1:19935
STREAMING_HLS_PUBLIC_URL=http://127.0.0.1:19988
```
## Production Values
The project config is aligned to these production-style domains:
```env
APP_NAME=Nyone
APP_URL=https://nyone.net
STREAMING_RTMP_INGEST_URL=rtmp://nyone.net:19935
STREAMING_HLS_PUBLIC_URL=https://nyone-hls.net
MEDIAMTX_SHARED_SECRET=change-this-secret
```
Configure MediaMTX from `deploy/mediamtx.yml`, replacing `change-this-secret` with the same value as `MEDIAMTX_SHARED_SECRET`.
Creators use:
- Server: `STREAMING_RTMP_INGEST_URL`
- Stream key: `<channel-slug>?token=<generated-stream-key>`
- OBS server: `STREAMING_RTMP_INGEST_URL`
- OBS stream key: `<channel-slug>?token=<generated-stream-key>`
Viewer playback uses `STREAMING_HLS_PUBLIC_URL/<channel-slug>/index.m3u8`.
Viewer playback uses:
```text
STREAMING_HLS_PUBLIC_URL/<channel-slug>/index.m3u8
```
## Verification
```bash
php artisan test
npm run format:check
npm run lint:check
npm run types:check
npm run build
```