Meghdad b3bb160b90
All checks were successful
tests / ci (8.5) (push) Successful in 4m0s
linter / quality (push) Successful in 1m16s
tests / ci (8.4) (push) Successful in 1m36s
Splitting MediaRTX from Apache in docker-bundle
2026-05-20 00:59:19 +03:30
2026-05-15 17:51:16 +03:30
2026-05-15 17:51:16 +03:30
2026-05-18 05:47:02 +03:30
2026-05-19 15:23:38 +03:30
2026-05-19 15:23:38 +03:30
2026-05-19 15:23:38 +03:30
2026-05-19 15:23:38 +03:30
2026-05-18 05:47:02 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 16:33:21 +03:30
2026-05-19 15:23:38 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 17:18:46 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 23:06:44 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 17:51:16 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 17:51:16 +03:30
2026-05-15 17:51:16 +03:30
2026-05-15 16:33:21 +03:30
2026-05-17 04:54:27 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 16:33:21 +03:30
2026-05-19 15:23:38 +03:30
2026-05-16 04:15:12 +03:30
2026-05-15 21:19:58 +03:30
2026-05-15 21:19:58 +03:30
2026-05-15 16:33:21 +03:30
2026-05-15 17:42:05 +03:30

Nyone

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

composer install
npm install
cp .env.example .env
php artisan key:generate
php artisan migrate --seed
npm run dev
php artisan serve

For local development, override these values in .env if you are not using the production domains:

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:

APP_NAME=Nyone
APP_URL=https://nyone.app
STREAMING_RTMP_INGEST_URL=rtmp://nyone.app: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:

  • 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

Verification

php artisan test
npm run format:check
npm run lint:check
npm run types:check
npm run build
Description
live streaming platform scaffold.
Readme 1 MiB
Languages
TypeScript 54.3%
PHP 43%
CSS 1%
Shell 0.6%
JavaScript 0.5%
Other 0.6%