replace nyone.net to nyone.app

This commit is contained in:
2026-05-19 15:23:38 +03:30
parent b3b7ebf8d7
commit 0fb7531e63
13 changed files with 57 additions and 57 deletions

View File

@@ -2,7 +2,7 @@ APP_NAME=Nyone
APP_ENV=local APP_ENV=local
APP_KEY= APP_KEY=
APP_DEBUG=true APP_DEBUG=true
APP_URL=https://nyone.net APP_URL=https://nyone.app
APP_LOCALE=en APP_LOCALE=en
APP_FALLBACK_LOCALE=en APP_FALLBACK_LOCALE=en
@@ -64,7 +64,7 @@ AWS_USE_PATH_STYLE_ENDPOINT=false
VITE_APP_NAME="${APP_NAME}" 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_HLS_PUBLIC_URL=https://nyone-hls.net
STREAMING_MEDIAMTX_API_URL=http://127.0.0.1:9997 STREAMING_MEDIAMTX_API_URL=http://127.0.0.1:9997
STREAMING_VIEWER_COUNT_CACHE_STORE=redis STREAMING_VIEWER_COUNT_CACHE_STORE=redis

View File

@@ -35,8 +35,8 @@ The project config is aligned to these production-style domains:
```env ```env
APP_NAME=Nyone APP_NAME=Nyone
APP_URL=https://nyone.net APP_URL=https://nyone.app
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_HLS_PUBLIC_URL=https://nyone-hls.net
MEDIAMTX_SHARED_SECRET=change-this-secret MEDIAMTX_SHARED_SECRET=change-this-secret
``` ```

View File

@@ -52,7 +52,7 @@ return [
| |
*/ */
'url' => env('APP_URL', 'https://nyone.net'), 'url' => env('APP_URL', 'https://nyone.app'),
/* /*
|-------------------------------------------------------------------------- |--------------------------------------------------------------------------

View File

@@ -41,7 +41,7 @@ return [
'public' => [ 'public' => [
'driver' => 'local', 'driver' => 'local',
'root' => storage_path('app/public'), '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', 'visibility' => 'public',
'throw' => false, 'throw' => false,
'report' => false, 'report' => false,

View File

@@ -46,7 +46,7 @@ return [
'username' => env('MAIL_USERNAME'), 'username' => env('MAIL_USERNAME'),
'password' => env('MAIL_PASSWORD'), 'password' => env('MAIL_PASSWORD'),
'timeout' => null, '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' => [ 'ses' => [

View File

@@ -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'), 'hls_public_url' => env('STREAMING_HLS_PUBLIC_URL', 'https://nyone-hls.net'),
/* /*

View File

@@ -17,7 +17,7 @@ class DatabaseSeeder extends Seeder
{ {
PlatformSetting::current(); PlatformSetting::current();
$admin = User::query()->firstOrNew(['email' => 'admin@nyone.net']); $admin = User::query()->firstOrNew(['email' => 'admin@nyone.app']);
$admin->forceFill([ $admin->forceFill([
'name' => 'Admin User', 'name' => 'Admin User',
'password' => 'password', 'password' => 'password',
@@ -26,7 +26,7 @@ class DatabaseSeeder extends Seeder
'can_create_channel' => false, 'can_create_channel' => false,
])->save(); ])->save();
$official = User::query()->firstOrNew(['email' => 'chief@nyone.net']); $official = User::query()->firstOrNew(['email' => 'chief@nyone.app']);
$official->forceFill([ $official->forceFill([
'name' => 'Chief Nyone', 'name' => 'Chief Nyone',
'password' => 'password', 'password' => 'password',

View File

@@ -1,5 +1,5 @@
authMethod: http 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: authHTTPExclude:
- action: read - action: read
- action: playback - action: playback
@@ -17,17 +17,17 @@ hls: yes
hlsAddress: :19988 hlsAddress: :19988
hlsVariant: mpegts hlsVariant: mpegts
hlsAllowOrigins: hlsAllowOrigins:
- https://nyone.net - https://nyone.app
pathDefaults: pathDefaults:
record: yes record: yes
recordPath: ./storage/app/private/recordings/%path/%Y-%m-%d_%H-%M-%S-%f 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 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" 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.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" 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: paths:
all_others: all_others:

View File

@@ -2,9 +2,9 @@
These configs match the current project domains: These configs match the current project domains:
- App: `https://nyone.net` - App: `https://nyone.app`
- HLS playback: `https://nyone-hls.net` - HLS playback: `https://nyone-hls.net`
- OBS ingest: `rtmp://nyone.net:19935` - OBS ingest: `rtmp://nyone.app:19935`
MediaMTX stays private on local ports: MediaMTX stays private on local ports:
@@ -29,14 +29,14 @@ sudo systemctl reload nginx
Make sure DNS points both hostnames to the server: Make sure DNS points both hostnames to the server:
- `nyone.net` - `nyone.app`
- `nyone-hls.net` - `nyone-hls.net`
The Laravel `.env` should use: The Laravel `.env` should use:
```env ```env
APP_URL=https://nyone.net APP_URL=https://nyone.app
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_HLS_PUBLIC_URL=https://nyone-hls.net
MEDIAMTX_SHARED_SECRET=change-this-secret MEDIAMTX_SHARED_SECRET=change-this-secret
``` ```

View File

@@ -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. # Copy to /etc/nginx/sites-available/nyone-app.conf and symlink into sites-enabled.
# Adjust root and fastcgi_pass for your server. # Adjust root and fastcgi_pass for your server.
server { server {
listen 80; listen 80;
listen [::]:80; listen [::]:80;
server_name nyone.net; server_name nyone.app;
return 301 https://$host$request_uri; return 301 https://$host$request_uri;
} }
@@ -13,13 +13,13 @@ server {
server { server {
listen 443 ssl http2; listen 443 ssl http2;
listen [::]:443 ssl http2; listen [::]:443 ssl http2;
server_name nyone.net; server_name nyone.app;
root /var/www/nyone/public; root /var/www/nyone/public;
index index.php; index index.php;
ssl_certificate /etc/letsencrypt/live/nyone.net/fullchain.pem; ssl_certificate /etc/letsencrypt/live/nyone.app/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nyone.net/privkey.pem; ssl_certificate_key /etc/letsencrypt/live/nyone.app/privkey.pem;
add_header X-Frame-Options "SAMEORIGIN" always; add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-Content-Type-Options "nosniff" always; add_header X-Content-Type-Options "nosniff" always;

View File

@@ -1,5 +1,5 @@
# HLS reverse proxy for MediaMTX. # 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/<channel-slug>/index.m3u8 # https://nyone-hls.net/<channel-slug>/index.m3u8
server { server {

View File

@@ -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. This guide explains how to deploy Nyone from only the `dockerized/` folder on a fresh Ubuntu VPS.
It assumes: It assumes:
- App domain: `nyone.net` - App domain: `nyone.app`
- HLS playback domain: `hls.nyone.net` - HLS playback domain: `hls.nyone.app`
- RTMP ingest URL: `rtmp://nyone.net:1935` - RTMP ingest URL: `rtmp://nyone.app:1935`
- Docker Apache is private on `127.0.0.1:8080` - Docker Apache is private on `127.0.0.1:8080`
- Host Nginx handles public HTTP, HTTPS, and SSL certificates - 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: Create DNS records before requesting SSL certificates:
```text ```text
nyone.net A <VPS_PUBLIC_IPV4> nyone.app A <VPS_PUBLIC_IPV4>
hls.nyone.net A <VPS_PUBLIC_IPV4> hls.nyone.app A <VPS_PUBLIC_IPV4>
``` ```
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. 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: Wait until DNS resolves from the VPS or your local machine:
```bash ```bash
dig +short nyone.net dig +short nyone.app
dig +short hls.nyone.net dig +short hls.nyone.app
``` ```
## 2. SSH into the VPS ## 2. SSH into the VPS
@@ -122,7 +122,7 @@ Edit the Docker deployment environment:
nano /opt/nyone/dockerized/.env nano /opt/nyone/dockerized/.env
``` ```
Use these values for `nyone.net`: Use these values for `nyone.app`:
```env ```env
COMPOSE_PROJECT_NAME=nyone COMPOSE_PROJECT_NAME=nyone
@@ -131,8 +131,8 @@ GIT_REPOSITORY_URL=git@github.com:your-org/nyone.git
GIT_REF=main GIT_REF=main
PUBLIC_SCHEME=https PUBLIC_SCHEME=https
APP_DOMAIN=nyone.net APP_DOMAIN=nyone.app
HLS_DOMAIN=hls.nyone.net HLS_DOMAIN=hls.nyone.app
APP_HTTP_PORT=127.0.0.1:8080 APP_HTTP_PORT=127.0.0.1:8080
RTMP_PUBLIC_PORT=1935 RTMP_PUBLIC_PORT=1935
@@ -239,7 +239,7 @@ tee /etc/nginx/sites-available/nyone-temp.conf >/dev/null <<'EOF'
server { server {
listen 80; listen 80;
listen [::]:80; listen [::]:80;
server_name nyone.net hls.nyone.net; server_name nyone.app hls.nyone.app;
location /.well-known/acme-challenge/ { location /.well-known/acme-challenge/ {
root /var/www/certbot; root /var/www/certbot;
@@ -263,15 +263,15 @@ Request the certificate:
```bash ```bash
certbot certonly --webroot \ certbot certonly --webroot \
-w /var/www/certbot \ -w /var/www/certbot \
-d nyone.net \ -d nyone.app \
-d hls.nyone.net -d hls.nyone.app
``` ```
The certificate files should be under: The certificate files should be under:
```text ```text
/etc/letsencrypt/live/nyone.net/fullchain.pem /etc/letsencrypt/live/nyone.app/fullchain.pem
/etc/letsencrypt/live/nyone.net/privkey.pem /etc/letsencrypt/live/nyone.app/privkey.pem
``` ```
## 10. Install final Nginx proxy config ## 10. Install final Nginx proxy config
@@ -281,7 +281,7 @@ tee /etc/nginx/sites-available/nyone.conf >/dev/null <<'EOF'
server { server {
listen 80; listen 80;
listen [::]:80; listen [::]:80;
server_name nyone.net hls.nyone.net; server_name nyone.app hls.nyone.app;
location /.well-known/acme-challenge/ { location /.well-known/acme-challenge/ {
root /var/www/certbot; root /var/www/certbot;
@@ -295,10 +295,10 @@ server {
server { server {
listen 443 ssl http2; listen 443 ssl http2;
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 /etc/letsencrypt/live/nyone.app/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nyone.net/privkey.pem; ssl_certificate_key /etc/letsencrypt/live/nyone.app/privkey.pem;
client_max_body_size 100M; client_max_body_size 100M;
@@ -322,10 +322,10 @@ server {
server { server {
listen 443 ssl http2; listen 443 ssl http2;
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 /etc/letsencrypt/live/nyone.app/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/nyone.net/privkey.pem; ssl_certificate_key /etc/letsencrypt/live/nyone.app/privkey.pem;
location / { location / {
proxy_pass http://127.0.0.1:8080; proxy_pass http://127.0.0.1:8080;
@@ -362,7 +362,7 @@ certbot renew --dry-run
Check the app health endpoint: Check the app health endpoint:
```bash ```bash
curl -I https://nyone.net/up curl -I https://nyone.app/up
``` ```
Check container status: Check container status:
@@ -397,14 +397,14 @@ Do not expose port `9997` on the public firewall.
Creators should use: Creators should use:
```text ```text
OBS server: rtmp://nyone.net:1935 OBS server: rtmp://nyone.app:1935
OBS stream key: <channel-slug>?token=<generated-stream-key> OBS stream key: <channel-slug>?token=<generated-stream-key>
``` ```
Viewer playback URLs generated by Laravel should look like: Viewer playback URLs generated by Laravel should look like:
```text ```text
https://hls.nyone.net/<channel-slug>/index.m3u8 https://hls.nyone.app/<channel-slug>/index.m3u8
``` ```
## 14. Redeploy after app changes ## 14. Redeploy after app changes

View File

@@ -157,16 +157,16 @@ admin@example.com / password
Current `.env` values relevant to streaming: Current `.env` values relevant to streaming:
```env ```env
APP_URL=https://nyone.net APP_URL=https://nyone.app
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_HLS_PUBLIC_URL=https://nyone-hls.net
MEDIAMTX_SHARED_SECRET=change-this-secret MEDIAMTX_SHARED_SECRET=change-this-secret
``` ```
MediaMTX current files: MediaMTX current files:
- `deploy/mediamtx.yml`: currently 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.net`. - `deploy/mediamtx.home.yml`: points auth/hooks to `https://nyone.app`.
MediaMTX ports currently configured: MediaMTX ports currently configured:
@@ -176,7 +176,7 @@ MediaMTX ports currently configured:
OBS should use: OBS should use:
```text ```text
Server: rtmp://nyone.net:19935 Server: rtmp://nyone.app:19935
Stream Key: <channel-slug>?token=<generated-stream-key> Stream Key: <channel-slug>?token=<generated-stream-key>
``` ```