From 0fb7531e63ab38fd5dd1ca2efc40fea12231e243 Mon Sep 17 00:00:00 2001 From: Meghdad Date: Tue, 19 May 2026 15:23:38 +0330 Subject: [PATCH] replace nyone.net to nyone.app --- .env.example | 4 +- README.md | 4 +- config/app.php | 2 +- config/filesystems.php | 2 +- config/mail.php | 2 +- config/streaming.php | 2 +- database/seeders/DatabaseSeeder.php | 4 +- deploy/mediamtx.yml | 10 ++-- deploy/nginx/README.md | 10 ++-- deploy/nginx/nyone-app.conf | 10 ++-- deploy/nginx/nyone-hls.conf | 2 +- dockerized/UBUNTU_VPS_NYONE_APP_DEPLOYMENT.md | 52 +++++++++---------- docs/ui-ux-handoff.md | 10 ++-- 13 files changed, 57 insertions(+), 57 deletions(-) diff --git a/.env.example b/.env.example index 02e0e48..467bf68 100644 --- a/.env.example +++ b/.env.example @@ -2,7 +2,7 @@ APP_NAME=Nyone APP_ENV=local APP_KEY= APP_DEBUG=true -APP_URL=https://nyone.net +APP_URL=https://nyone.app APP_LOCALE=en APP_FALLBACK_LOCALE=en @@ -64,7 +64,7 @@ AWS_USE_PATH_STYLE_ENDPOINT=false VITE_APP_NAME="${APP_NAME}" -STREAMING_RTMP_INGEST_URL=rtmp://nyone.net:19935 +STREAMING_RTMP_INGEST_URL=rtmp://nyone.app:19935 STREAMING_HLS_PUBLIC_URL=https://nyone-hls.net STREAMING_MEDIAMTX_API_URL=http://127.0.0.1:9997 STREAMING_VIEWER_COUNT_CACHE_STORE=redis diff --git a/README.md b/README.md index 8298afe..2cb45af 100644 --- a/README.md +++ b/README.md @@ -35,8 +35,8 @@ 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 +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 ``` diff --git a/config/app.php b/config/app.php index 64fe929..257701d 100644 --- a/config/app.php +++ b/config/app.php @@ -52,7 +52,7 @@ return [ | */ - 'url' => env('APP_URL', 'https://nyone.net'), + 'url' => env('APP_URL', 'https://nyone.app'), /* |-------------------------------------------------------------------------- diff --git a/config/filesystems.php b/config/filesystems.php index 278b5a2..3f600bd 100644 --- a/config/filesystems.php +++ b/config/filesystems.php @@ -41,7 +41,7 @@ return [ 'public' => [ 'driver' => 'local', 'root' => storage_path('app/public'), - 'url' => rtrim(env('APP_URL', 'https://nyone.net'), '/').'/storage', + 'url' => rtrim(env('APP_URL', 'https://nyone.app'), '/').'/storage', 'visibility' => 'public', 'throw' => false, 'report' => false, diff --git a/config/mail.php b/config/mail.php index a200818..fc2e0a7 100644 --- a/config/mail.php +++ b/config/mail.php @@ -46,7 +46,7 @@ return [ 'username' => env('MAIL_USERNAME'), 'password' => env('MAIL_PASSWORD'), 'timeout' => null, - 'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url((string) env('APP_URL', 'https://nyone.net'), PHP_URL_HOST)), + 'local_domain' => env('MAIL_EHLO_DOMAIN', parse_url((string) env('APP_URL', 'https://nyone.app'), PHP_URL_HOST)), ], 'ses' => [ diff --git a/config/streaming.php b/config/streaming.php index 5921613..7ec4228 100644 --- a/config/streaming.php +++ b/config/streaming.php @@ -12,7 +12,7 @@ return [ | */ - 'rtmp_ingest_url' => env('STREAMING_RTMP_INGEST_URL', 'rtmp://nyone.net:19935'), + 'rtmp_ingest_url' => env('STREAMING_RTMP_INGEST_URL', 'rtmp://nyone.app:19935'), 'hls_public_url' => env('STREAMING_HLS_PUBLIC_URL', 'https://nyone-hls.net'), /* diff --git a/database/seeders/DatabaseSeeder.php b/database/seeders/DatabaseSeeder.php index 28277dd..46de250 100644 --- a/database/seeders/DatabaseSeeder.php +++ b/database/seeders/DatabaseSeeder.php @@ -17,7 +17,7 @@ class DatabaseSeeder extends Seeder { PlatformSetting::current(); - $admin = User::query()->firstOrNew(['email' => 'admin@nyone.net']); + $admin = User::query()->firstOrNew(['email' => 'admin@nyone.app']); $admin->forceFill([ 'name' => 'Admin User', 'password' => 'password', @@ -26,7 +26,7 @@ class DatabaseSeeder extends Seeder 'can_create_channel' => false, ])->save(); - $official = User::query()->firstOrNew(['email' => 'chief@nyone.net']); + $official = User::query()->firstOrNew(['email' => 'chief@nyone.app']); $official->forceFill([ 'name' => 'Chief Nyone', 'password' => 'password', diff --git a/deploy/mediamtx.yml b/deploy/mediamtx.yml index 5fd8f7f..cefde33 100644 --- a/deploy/mediamtx.yml +++ b/deploy/mediamtx.yml @@ -1,5 +1,5 @@ authMethod: http -authHTTPAddress: https://nyone.net/internal/mediamtx/auth?secret=change-this-secret +authHTTPAddress: https://nyone.app/internal/mediamtx/auth?secret=change-this-secret authHTTPExclude: - action: read - action: playback @@ -17,17 +17,17 @@ hls: yes hlsAddress: :19988 hlsVariant: mpegts hlsAllowOrigins: - - https://nyone.net + - https://nyone.app pathDefaults: record: yes recordPath: ./storage/app/private/recordings/%path/%Y-%m-%d_%H-%M-%S-%f - runOnReady: curl -X POST "https://nyone.net/internal/mediamtx/ready?secret=change-this-secret" --data-urlencode "path=$MTX_PATH" --data-urlencode "source_type=$MTX_SOURCE_TYPE" --data-urlencode "source_id=$MTX_SOURCE_ID" + runOnReady: curl -X POST "https://nyone.app/internal/mediamtx/ready?secret=change-this-secret" --data-urlencode "path=$MTX_PATH" --data-urlencode "source_type=$MTX_SOURCE_TYPE" --data-urlencode "source_id=$MTX_SOURCE_ID" runOnReadyRestart: no - runOnNotReady: curl -X POST "https://nyone.net/internal/mediamtx/not-ready?secret=change-this-secret" --data-urlencode "path=$MTX_PATH" --data-urlencode "source_type=$MTX_SOURCE_TYPE" --data-urlencode "source_id=$MTX_SOURCE_ID" - runOnRecordSegmentComplete: curl -X POST "https://nyone.net/internal/mediamtx/recording-complete?secret=change-this-secret" --data-urlencode "path=$MTX_PATH" --data-urlencode "segment_path=$MTX_SEGMENT_PATH" --data-urlencode "duration=$MTX_SEGMENT_DURATION" + runOnNotReady: curl -X POST "https://nyone.app/internal/mediamtx/not-ready?secret=change-this-secret" --data-urlencode "path=$MTX_PATH" --data-urlencode "source_type=$MTX_SOURCE_TYPE" --data-urlencode "source_id=$MTX_SOURCE_ID" + runOnRecordSegmentComplete: curl -X POST "https://nyone.app/internal/mediamtx/recording-complete?secret=change-this-secret" --data-urlencode "path=$MTX_PATH" --data-urlencode "segment_path=$MTX_SEGMENT_PATH" --data-urlencode "duration=$MTX_SEGMENT_DURATION" paths: all_others: diff --git a/deploy/nginx/README.md b/deploy/nginx/README.md index c0a91d7..44caa4a 100644 --- a/deploy/nginx/README.md +++ b/deploy/nginx/README.md @@ -2,9 +2,9 @@ These configs match the current project domains: -- App: `https://nyone.net` +- App: `https://nyone.app` - HLS playback: `https://nyone-hls.net` -- OBS ingest: `rtmp://nyone.net:19935` +- OBS ingest: `rtmp://nyone.app:19935` MediaMTX stays private on local ports: @@ -29,14 +29,14 @@ sudo systemctl reload nginx Make sure DNS points both hostnames to the server: -- `nyone.net` +- `nyone.app` - `nyone-hls.net` The Laravel `.env` should use: ```env -APP_URL=https://nyone.net -STREAMING_RTMP_INGEST_URL=rtmp://nyone.net:19935 +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 ``` diff --git a/deploy/nginx/nyone-app.conf b/deploy/nginx/nyone-app.conf index 3a889b3..0515afb 100644 --- a/deploy/nginx/nyone-app.conf +++ b/deploy/nginx/nyone-app.conf @@ -1,11 +1,11 @@ -# Laravel application vhost for nyone.net. +# Laravel application vhost for nyone.app. # Copy to /etc/nginx/sites-available/nyone-app.conf and symlink into sites-enabled. # Adjust root and fastcgi_pass for your server. server { listen 80; listen [::]:80; - server_name nyone.net; + server_name nyone.app; return 301 https://$host$request_uri; } @@ -13,13 +13,13 @@ server { server { listen 443 ssl http2; listen [::]:443 ssl http2; - server_name nyone.net; + server_name nyone.app; root /var/www/nyone/public; index index.php; - ssl_certificate /etc/letsencrypt/live/nyone.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/nyone.net/privkey.pem; + ssl_certificate /etc/letsencrypt/live/nyone.app/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/nyone.app/privkey.pem; add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Content-Type-Options "nosniff" always; diff --git a/deploy/nginx/nyone-hls.conf b/deploy/nginx/nyone-hls.conf index 87c87c4..df07e8d 100644 --- a/deploy/nginx/nyone-hls.conf +++ b/deploy/nginx/nyone-hls.conf @@ -1,5 +1,5 @@ # HLS reverse proxy for MediaMTX. -# Browser origin is https://nyone.net, while playback URLs point here: +# Browser origin is https://nyone.app, while playback URLs point here: # https://nyone-hls.net//index.m3u8 server { diff --git a/dockerized/UBUNTU_VPS_NYONE_APP_DEPLOYMENT.md b/dockerized/UBUNTU_VPS_NYONE_APP_DEPLOYMENT.md index b3097c7..c70d6c4 100644 --- a/dockerized/UBUNTU_VPS_NYONE_APP_DEPLOYMENT.md +++ b/dockerized/UBUNTU_VPS_NYONE_APP_DEPLOYMENT.md @@ -1,12 +1,12 @@ -# Fresh Ubuntu VPS Deployment for nyone.net +# Fresh Ubuntu VPS Deployment for nyone.app This guide explains how to deploy Nyone from only the `dockerized/` folder on a fresh Ubuntu VPS. It assumes: -- App domain: `nyone.net` -- HLS playback domain: `hls.nyone.net` -- RTMP ingest URL: `rtmp://nyone.net:1935` +- App domain: `nyone.app` +- HLS playback domain: `hls.nyone.app` +- RTMP ingest URL: `rtmp://nyone.app:1935` - Docker Apache is private on `127.0.0.1:8080` - Host Nginx handles public HTTP, HTTPS, and SSL certificates @@ -17,8 +17,8 @@ The application repository itself does not need to exist on the server before de Create DNS records before requesting SSL certificates: ```text -nyone.net A -hls.nyone.net A +nyone.app A +hls.nyone.app A ``` If your DNS provider has an HTTP proxy mode, make sure TCP `1935` still reaches the VPS directly for RTMP. With Cloudflare, that usually means the RTMP hostname must be DNS-only, not proxied. @@ -26,8 +26,8 @@ If your DNS provider has an HTTP proxy mode, make sure TCP `1935` still reaches Wait until DNS resolves from the VPS or your local machine: ```bash -dig +short nyone.net -dig +short hls.nyone.net +dig +short nyone.app +dig +short hls.nyone.app ``` ## 2. SSH into the VPS @@ -122,7 +122,7 @@ Edit the Docker deployment environment: nano /opt/nyone/dockerized/.env ``` -Use these values for `nyone.net`: +Use these values for `nyone.app`: ```env COMPOSE_PROJECT_NAME=nyone @@ -131,8 +131,8 @@ GIT_REPOSITORY_URL=git@github.com:your-org/nyone.git GIT_REF=main PUBLIC_SCHEME=https -APP_DOMAIN=nyone.net -HLS_DOMAIN=hls.nyone.net +APP_DOMAIN=nyone.app +HLS_DOMAIN=hls.nyone.app APP_HTTP_PORT=127.0.0.1:8080 RTMP_PUBLIC_PORT=1935 @@ -239,7 +239,7 @@ tee /etc/nginx/sites-available/nyone-temp.conf >/dev/null <<'EOF' server { listen 80; listen [::]:80; - server_name nyone.net hls.nyone.net; + server_name nyone.app hls.nyone.app; location /.well-known/acme-challenge/ { root /var/www/certbot; @@ -263,15 +263,15 @@ Request the certificate: ```bash certbot certonly --webroot \ -w /var/www/certbot \ - -d nyone.net \ - -d hls.nyone.net + -d nyone.app \ + -d hls.nyone.app ``` The certificate files should be under: ```text -/etc/letsencrypt/live/nyone.net/fullchain.pem -/etc/letsencrypt/live/nyone.net/privkey.pem +/etc/letsencrypt/live/nyone.app/fullchain.pem +/etc/letsencrypt/live/nyone.app/privkey.pem ``` ## 10. Install final Nginx proxy config @@ -281,7 +281,7 @@ tee /etc/nginx/sites-available/nyone.conf >/dev/null <<'EOF' server { listen 80; listen [::]:80; - server_name nyone.net hls.nyone.net; + server_name nyone.app hls.nyone.app; location /.well-known/acme-challenge/ { root /var/www/certbot; @@ -295,10 +295,10 @@ server { server { listen 443 ssl http2; listen [::]:443 ssl http2; - server_name nyone.net; + server_name nyone.app; - ssl_certificate /etc/letsencrypt/live/nyone.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/nyone.net/privkey.pem; + ssl_certificate /etc/letsencrypt/live/nyone.app/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/nyone.app/privkey.pem; client_max_body_size 100M; @@ -322,10 +322,10 @@ server { server { listen 443 ssl http2; listen [::]:443 ssl http2; - server_name hls.nyone.net; + server_name hls.nyone.app; - ssl_certificate /etc/letsencrypt/live/nyone.net/fullchain.pem; - ssl_certificate_key /etc/letsencrypt/live/nyone.net/privkey.pem; + ssl_certificate /etc/letsencrypt/live/nyone.app/fullchain.pem; + ssl_certificate_key /etc/letsencrypt/live/nyone.app/privkey.pem; location / { proxy_pass http://127.0.0.1:8080; @@ -362,7 +362,7 @@ certbot renew --dry-run Check the app health endpoint: ```bash -curl -I https://nyone.net/up +curl -I https://nyone.app/up ``` Check container status: @@ -397,14 +397,14 @@ Do not expose port `9997` on the public firewall. Creators should use: ```text -OBS server: rtmp://nyone.net:1935 +OBS server: rtmp://nyone.app:1935 OBS stream key: ?token= ``` Viewer playback URLs generated by Laravel should look like: ```text -https://hls.nyone.net//index.m3u8 +https://hls.nyone.app//index.m3u8 ``` ## 14. Redeploy after app changes diff --git a/docs/ui-ux-handoff.md b/docs/ui-ux-handoff.md index 776d7bb..1c17521 100644 --- a/docs/ui-ux-handoff.md +++ b/docs/ui-ux-handoff.md @@ -157,16 +157,16 @@ admin@example.com / password Current `.env` values relevant to streaming: ```env -APP_URL=https://nyone.net -STREAMING_RTMP_INGEST_URL=rtmp://nyone.net:19935 +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 ``` MediaMTX current files: -- `deploy/mediamtx.yml`: currently points auth/hooks to `https://nyone.net`. -- `deploy/mediamtx.home.yml`: points auth/hooks to `https://nyone.net`. +- `deploy/mediamtx.yml`: currently points auth/hooks to `https://nyone.app`. +- `deploy/mediamtx.home.yml`: points auth/hooks to `https://nyone.app`. MediaMTX ports currently configured: @@ -176,7 +176,7 @@ MediaMTX ports currently configured: OBS should use: ```text -Server: rtmp://nyone.net:19935 +Server: rtmp://nyone.app:19935 Stream Key: ?token= ```