@alloy-framework/webrtc 0.1.7 → 0.1.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/config.manager.yaml +32 -0
- package/config.worker.yaml +34 -0
- package/package.json +28 -28
- package/run-manager.js +76 -76
- package/run-worker.js +76 -76
- package/env.manager.example +0 -35
- package/env.worker.example +0 -34
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
# ─────────────────────────────────────────────
|
|
2
|
+
# Alloy WebRTC Manager Configuration
|
|
3
|
+
# ─────────────────────────────────────────────
|
|
4
|
+
# Environment variables override YAML values.
|
|
5
|
+
# Example: TOKEN_SECRET=xxx ./alloy-manager
|
|
6
|
+
|
|
7
|
+
server:
|
|
8
|
+
host: "0.0.0.0"
|
|
9
|
+
api_port: 9002
|
|
10
|
+
tcp_port: 9001
|
|
11
|
+
|
|
12
|
+
database:
|
|
13
|
+
# url: "mongodb://user:pass@host:port/db" # Direct URL (takes priority)
|
|
14
|
+
host: "localhost"
|
|
15
|
+
port: 27017
|
|
16
|
+
user: ""
|
|
17
|
+
password: ""
|
|
18
|
+
name: "alloy"
|
|
19
|
+
|
|
20
|
+
redis:
|
|
21
|
+
session_url: "redis://localhost:6379"
|
|
22
|
+
session_prefix: "alloy_starter_sess:"
|
|
23
|
+
session_cookie_name: "alloy_starter_sess"
|
|
24
|
+
|
|
25
|
+
nats:
|
|
26
|
+
url: "nats://localhost:4222"
|
|
27
|
+
prefix: "alloy.stream"
|
|
28
|
+
|
|
29
|
+
token:
|
|
30
|
+
auth: true
|
|
31
|
+
secret: "my-32-byte-secret-key-here!!!!!"
|
|
32
|
+
expiry: 3600
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
# ─────────────────────────────────────────────
|
|
2
|
+
# Alloy WebRTC Worker Configuration
|
|
3
|
+
# ─────────────────────────────────────────────
|
|
4
|
+
# Environment variables override YAML values.
|
|
5
|
+
# Example: WORKER_IP=192.168.1.100 ./alloy-worker
|
|
6
|
+
|
|
7
|
+
server:
|
|
8
|
+
host: "0.0.0.0"
|
|
9
|
+
|
|
10
|
+
manager:
|
|
11
|
+
host: "127.0.0.1"
|
|
12
|
+
port: 9001
|
|
13
|
+
|
|
14
|
+
worker:
|
|
15
|
+
ip: "127.0.0.1"
|
|
16
|
+
ingest_port: 7001
|
|
17
|
+
webrtc_port: 50002
|
|
18
|
+
whip_port: 7777
|
|
19
|
+
max_sessions: 100
|
|
20
|
+
|
|
21
|
+
webrtc:
|
|
22
|
+
stun_server: "stun:stun.l.google.com:19302"
|
|
23
|
+
|
|
24
|
+
nats:
|
|
25
|
+
host: "localhost"
|
|
26
|
+
port: 4222
|
|
27
|
+
user: ""
|
|
28
|
+
password: ""
|
|
29
|
+
prefix: "alloy"
|
|
30
|
+
|
|
31
|
+
token:
|
|
32
|
+
auth: true
|
|
33
|
+
secret: "my-32-byte-secret-key-here!!!!!"
|
|
34
|
+
expiry: 3600
|
package/package.json
CHANGED
|
@@ -1,28 +1,28 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@alloy-framework/webrtc",
|
|
3
|
-
"version": "0.1.
|
|
4
|
-
"description": "Alloy WebRTC SFU
|
|
5
|
-
"bin": {
|
|
6
|
-
"alloy-manager": "./run-manager.js",
|
|
7
|
-
"alloy-worker": "./run-worker.js"
|
|
8
|
-
},
|
|
9
|
-
"files": [
|
|
10
|
-
"run-manager.js",
|
|
11
|
-
"run-worker.js",
|
|
12
|
-
"
|
|
13
|
-
"
|
|
14
|
-
],
|
|
15
|
-
"optionalDependencies": {
|
|
16
|
-
"@alloy-framework/webrtc-darwin-arm64": "0.1.
|
|
17
|
-
"@alloy-framework/webrtc-linux-x64-gnu": "0.1.
|
|
18
|
-
"@alloy-framework/webrtc-win32-x64-msvc": "0.1.
|
|
19
|
-
},
|
|
20
|
-
"license": "MIT",
|
|
21
|
-
"repository": {
|
|
22
|
-
"type": "git",
|
|
23
|
-
"url": "https://github.com/saytohenry/alloy-framework.git"
|
|
24
|
-
},
|
|
25
|
-
"engines": {
|
|
26
|
-
"node": ">=18.0.0"
|
|
27
|
-
}
|
|
28
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"name": "@alloy-framework/webrtc",
|
|
3
|
+
"version": "0.1.8",
|
|
4
|
+
"description": "Alloy WebRTC SFU — alloy-manager (Control Plane) + alloy-worker (Media Plane) binary loader",
|
|
5
|
+
"bin": {
|
|
6
|
+
"alloy-manager": "./run-manager.js",
|
|
7
|
+
"alloy-worker": "./run-worker.js"
|
|
8
|
+
},
|
|
9
|
+
"files": [
|
|
10
|
+
"run-manager.js",
|
|
11
|
+
"run-worker.js",
|
|
12
|
+
"config.manager.yaml",
|
|
13
|
+
"config.worker.yaml"
|
|
14
|
+
],
|
|
15
|
+
"optionalDependencies": {
|
|
16
|
+
"@alloy-framework/webrtc-darwin-arm64": "0.1.8",
|
|
17
|
+
"@alloy-framework/webrtc-linux-x64-gnu": "0.1.8",
|
|
18
|
+
"@alloy-framework/webrtc-win32-x64-msvc": "0.1.8"
|
|
19
|
+
},
|
|
20
|
+
"license": "MIT",
|
|
21
|
+
"repository": {
|
|
22
|
+
"type": "git",
|
|
23
|
+
"url": "https://github.com/saytohenry/alloy-framework.git"
|
|
24
|
+
},
|
|
25
|
+
"engines": {
|
|
26
|
+
"node": ">=18.0.0"
|
|
27
|
+
}
|
|
28
|
+
}
|
package/run-manager.js
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* 🚀 alloy-manager 바이너리 런처
|
|
4
|
-
*
|
|
5
|
-
* 현재 플랫폼(OS + CPU 아키텍처)을 감지하여
|
|
6
|
-
* 적절한 alloy-manager 네이티브 바이너리를 실행합니다.
|
|
7
|
-
*
|
|
8
|
-
* 지원 플랫폼:
|
|
9
|
-
* - macOS ARM64 (Apple Silicon)
|
|
10
|
-
* - Linux x64 (Ubuntu/Debian glibc)
|
|
11
|
-
* - Windows x64 (MSVC)
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* npx alloy-manager
|
|
15
|
-
* // 또는 직접 실행
|
|
16
|
-
* node run-manager.js
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
const { execFileSync } = require('child_process');
|
|
20
|
-
const { platform, arch } = require('process');
|
|
21
|
-
const path = require('path');
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* 플랫폼별 npm 패키지 매핑
|
|
25
|
-
* key: `${os}-${cpu}` 형식
|
|
26
|
-
* value: [패키지명, 바이너리 파일명]
|
|
27
|
-
*/
|
|
28
|
-
const PLATFORM_MAP = {
|
|
29
|
-
'darwin-arm64': ['@alloy-framework/webrtc-darwin-arm64', 'alloy-manager'],
|
|
30
|
-
'linux-x64': ['@alloy-framework/webrtc-linux-x64-gnu', 'alloy-manager'],
|
|
31
|
-
'win32-x64': ['@alloy-framework/webrtc-win32-x64-msvc', 'alloy-manager.exe'],
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const key = `${platform}-${arch}`;
|
|
35
|
-
const entry = PLATFORM_MAP[key];
|
|
36
|
-
|
|
37
|
-
if (!entry) {
|
|
38
|
-
console.error(
|
|
39
|
-
`[Alloy WebRTC] 지원하지 않는 플랫폼: ${platform}-${arch}\n` +
|
|
40
|
-
`지원 플랫폼: ${Object.keys(PLATFORM_MAP).join(', ')}\n` +
|
|
41
|
-
`문의: https://github.com/saytohenry/alloy-framework/issues`
|
|
42
|
-
);
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const [pkgName, binaryName] = entry;
|
|
47
|
-
|
|
48
|
-
// 바이너리 경로 탐색 (require.resolve로 설치된 패키지 위치 확인)
|
|
49
|
-
let binaryPath;
|
|
50
|
-
try {
|
|
51
|
-
const pkgDir = path.dirname(require.resolve(`${pkgName}/package.json`));
|
|
52
|
-
binaryPath = path.join(pkgDir, binaryName);
|
|
53
|
-
} catch (e) {
|
|
54
|
-
console.error(
|
|
55
|
-
`[Alloy WebRTC] 플랫폼 바이너리 패키지를 찾을 수 없습니다.\n` +
|
|
56
|
-
`필요한 패키지: ${pkgName}\n` +
|
|
57
|
-
`설치: npm install ${pkgName}\n\n` +
|
|
58
|
-
`원본 에러: ${e.message}`
|
|
59
|
-
);
|
|
60
|
-
process.exit(1);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// 바이너리 실행 (stdin/stdout/stderr 모두 상속)
|
|
64
|
-
try {
|
|
65
|
-
execFileSync(binaryPath, process.argv.slice(2), {
|
|
66
|
-
stdio: 'inherit',
|
|
67
|
-
env: process.env,
|
|
68
|
-
});
|
|
69
|
-
} catch (e) {
|
|
70
|
-
// execFileSync는 프로세스가 0이 아닌 코드로 종료하면 에러를 던짐
|
|
71
|
-
if (e.status !== undefined) {
|
|
72
|
-
process.exit(e.status);
|
|
73
|
-
}
|
|
74
|
-
console.error(`[Alloy WebRTC] alloy-manager 실행 실패: ${e.message}`);
|
|
75
|
-
process.exit(1);
|
|
76
|
-
}
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* 🚀 alloy-manager 바이너리 런처
|
|
4
|
+
*
|
|
5
|
+
* 현재 플랫폼(OS + CPU 아키텍처)을 감지하여
|
|
6
|
+
* 적절한 alloy-manager 네이티브 바이너리를 실행합니다.
|
|
7
|
+
*
|
|
8
|
+
* 지원 플랫폼:
|
|
9
|
+
* - macOS ARM64 (Apple Silicon)
|
|
10
|
+
* - Linux x64 (Ubuntu/Debian glibc)
|
|
11
|
+
* - Windows x64 (MSVC)
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* npx alloy-manager
|
|
15
|
+
* // 또는 직접 실행
|
|
16
|
+
* node run-manager.js
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
const { execFileSync } = require('child_process');
|
|
20
|
+
const { platform, arch } = require('process');
|
|
21
|
+
const path = require('path');
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 플랫폼별 npm 패키지 매핑
|
|
25
|
+
* key: `${os}-${cpu}` 형식
|
|
26
|
+
* value: [패키지명, 바이너리 파일명]
|
|
27
|
+
*/
|
|
28
|
+
const PLATFORM_MAP = {
|
|
29
|
+
'darwin-arm64': ['@alloy-framework/webrtc-darwin-arm64', 'alloy-manager'],
|
|
30
|
+
'linux-x64': ['@alloy-framework/webrtc-linux-x64-gnu', 'alloy-manager'],
|
|
31
|
+
'win32-x64': ['@alloy-framework/webrtc-win32-x64-msvc', 'alloy-manager.exe'],
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const key = `${platform}-${arch}`;
|
|
35
|
+
const entry = PLATFORM_MAP[key];
|
|
36
|
+
|
|
37
|
+
if (!entry) {
|
|
38
|
+
console.error(
|
|
39
|
+
`[Alloy WebRTC] 지원하지 않는 플랫폼: ${platform}-${arch}\n` +
|
|
40
|
+
`지원 플랫폼: ${Object.keys(PLATFORM_MAP).join(', ')}\n` +
|
|
41
|
+
`문의: https://github.com/saytohenry/alloy-framework/issues`
|
|
42
|
+
);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const [pkgName, binaryName] = entry;
|
|
47
|
+
|
|
48
|
+
// 바이너리 경로 탐색 (require.resolve로 설치된 패키지 위치 확인)
|
|
49
|
+
let binaryPath;
|
|
50
|
+
try {
|
|
51
|
+
const pkgDir = path.dirname(require.resolve(`${pkgName}/package.json`));
|
|
52
|
+
binaryPath = path.join(pkgDir, binaryName);
|
|
53
|
+
} catch (e) {
|
|
54
|
+
console.error(
|
|
55
|
+
`[Alloy WebRTC] 플랫폼 바이너리 패키지를 찾을 수 없습니다.\n` +
|
|
56
|
+
`필요한 패키지: ${pkgName}\n` +
|
|
57
|
+
`설치: npm install ${pkgName}\n\n` +
|
|
58
|
+
`원본 에러: ${e.message}`
|
|
59
|
+
);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// 바이너리 실행 (stdin/stdout/stderr 모두 상속)
|
|
64
|
+
try {
|
|
65
|
+
execFileSync(binaryPath, process.argv.slice(2), {
|
|
66
|
+
stdio: 'inherit',
|
|
67
|
+
env: process.env,
|
|
68
|
+
});
|
|
69
|
+
} catch (e) {
|
|
70
|
+
// execFileSync는 프로세스가 0이 아닌 코드로 종료하면 에러를 던짐
|
|
71
|
+
if (e.status !== undefined) {
|
|
72
|
+
process.exit(e.status);
|
|
73
|
+
}
|
|
74
|
+
console.error(`[Alloy WebRTC] alloy-manager 실행 실패: ${e.message}`);
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
package/run-worker.js
CHANGED
|
@@ -1,76 +1,76 @@
|
|
|
1
|
-
#!/usr/bin/env node
|
|
2
|
-
/**
|
|
3
|
-
* 🚀 alloy-worker 바이너리 런처
|
|
4
|
-
*
|
|
5
|
-
* 현재 플랫폼(OS + CPU 아키텍처)을 감지하여
|
|
6
|
-
* 적절한 alloy-worker 네이티브 바이너리를 실행합니다.
|
|
7
|
-
*
|
|
8
|
-
* 지원 플랫폼:
|
|
9
|
-
* - macOS ARM64 (Apple Silicon)
|
|
10
|
-
* - Linux x64 (Ubuntu/Debian glibc)
|
|
11
|
-
* - Windows x64 (MSVC)
|
|
12
|
-
*
|
|
13
|
-
* @example
|
|
14
|
-
* npx alloy-worker
|
|
15
|
-
* // 또는 직접 실행
|
|
16
|
-
* node run-worker.js
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
const { execFileSync } = require('child_process');
|
|
20
|
-
const { platform, arch } = require('process');
|
|
21
|
-
const path = require('path');
|
|
22
|
-
|
|
23
|
-
/**
|
|
24
|
-
* 플랫폼별 npm 패키지 매핑
|
|
25
|
-
* key: `${os}-${cpu}` 형식
|
|
26
|
-
* value: [패키지명, 바이너리 파일명]
|
|
27
|
-
*/
|
|
28
|
-
const PLATFORM_MAP = {
|
|
29
|
-
'darwin-arm64': ['@alloy-framework/webrtc-darwin-arm64', 'alloy-worker'],
|
|
30
|
-
'linux-x64': ['@alloy-framework/webrtc-linux-x64-gnu', 'alloy-worker'],
|
|
31
|
-
'win32-x64': ['@alloy-framework/webrtc-win32-x64-msvc', 'alloy-worker.exe'],
|
|
32
|
-
};
|
|
33
|
-
|
|
34
|
-
const key = `${platform}-${arch}`;
|
|
35
|
-
const entry = PLATFORM_MAP[key];
|
|
36
|
-
|
|
37
|
-
if (!entry) {
|
|
38
|
-
console.error(
|
|
39
|
-
`[Alloy WebRTC] 지원하지 않는 플랫폼: ${platform}-${arch}\n` +
|
|
40
|
-
`지원 플랫폼: ${Object.keys(PLATFORM_MAP).join(', ')}\n` +
|
|
41
|
-
`문의: https://github.com/saytohenry/alloy-framework/issues`
|
|
42
|
-
);
|
|
43
|
-
process.exit(1);
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const [pkgName, binaryName] = entry;
|
|
47
|
-
|
|
48
|
-
// 바이너리 경로 탐색 (require.resolve로 설치된 패키지 위치 확인)
|
|
49
|
-
let binaryPath;
|
|
50
|
-
try {
|
|
51
|
-
const pkgDir = path.dirname(require.resolve(`${pkgName}/package.json`));
|
|
52
|
-
binaryPath = path.join(pkgDir, binaryName);
|
|
53
|
-
} catch (e) {
|
|
54
|
-
console.error(
|
|
55
|
-
`[Alloy WebRTC] 플랫폼 바이너리 패키지를 찾을 수 없습니다.\n` +
|
|
56
|
-
`필요한 패키지: ${pkgName}\n` +
|
|
57
|
-
`설치: npm install ${pkgName}\n\n` +
|
|
58
|
-
`원본 에러: ${e.message}`
|
|
59
|
-
);
|
|
60
|
-
process.exit(1);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
// 바이너리 실행 (stdin/stdout/stderr 모두 상속)
|
|
64
|
-
try {
|
|
65
|
-
execFileSync(binaryPath, process.argv.slice(2), {
|
|
66
|
-
stdio: 'inherit',
|
|
67
|
-
env: process.env,
|
|
68
|
-
});
|
|
69
|
-
} catch (e) {
|
|
70
|
-
// execFileSync는 프로세스가 0이 아닌 코드로 종료하면 에러를 던짐
|
|
71
|
-
if (e.status !== undefined) {
|
|
72
|
-
process.exit(e.status);
|
|
73
|
-
}
|
|
74
|
-
console.error(`[Alloy WebRTC] alloy-worker 실행 실패: ${e.message}`);
|
|
75
|
-
process.exit(1);
|
|
76
|
-
}
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* 🚀 alloy-worker 바이너리 런처
|
|
4
|
+
*
|
|
5
|
+
* 현재 플랫폼(OS + CPU 아키텍처)을 감지하여
|
|
6
|
+
* 적절한 alloy-worker 네이티브 바이너리를 실행합니다.
|
|
7
|
+
*
|
|
8
|
+
* 지원 플랫폼:
|
|
9
|
+
* - macOS ARM64 (Apple Silicon)
|
|
10
|
+
* - Linux x64 (Ubuntu/Debian glibc)
|
|
11
|
+
* - Windows x64 (MSVC)
|
|
12
|
+
*
|
|
13
|
+
* @example
|
|
14
|
+
* npx alloy-worker
|
|
15
|
+
* // 또는 직접 실행
|
|
16
|
+
* node run-worker.js
|
|
17
|
+
*/
|
|
18
|
+
|
|
19
|
+
const { execFileSync } = require('child_process');
|
|
20
|
+
const { platform, arch } = require('process');
|
|
21
|
+
const path = require('path');
|
|
22
|
+
|
|
23
|
+
/**
|
|
24
|
+
* 플랫폼별 npm 패키지 매핑
|
|
25
|
+
* key: `${os}-${cpu}` 형식
|
|
26
|
+
* value: [패키지명, 바이너리 파일명]
|
|
27
|
+
*/
|
|
28
|
+
const PLATFORM_MAP = {
|
|
29
|
+
'darwin-arm64': ['@alloy-framework/webrtc-darwin-arm64', 'alloy-worker'],
|
|
30
|
+
'linux-x64': ['@alloy-framework/webrtc-linux-x64-gnu', 'alloy-worker'],
|
|
31
|
+
'win32-x64': ['@alloy-framework/webrtc-win32-x64-msvc', 'alloy-worker.exe'],
|
|
32
|
+
};
|
|
33
|
+
|
|
34
|
+
const key = `${platform}-${arch}`;
|
|
35
|
+
const entry = PLATFORM_MAP[key];
|
|
36
|
+
|
|
37
|
+
if (!entry) {
|
|
38
|
+
console.error(
|
|
39
|
+
`[Alloy WebRTC] 지원하지 않는 플랫폼: ${platform}-${arch}\n` +
|
|
40
|
+
`지원 플랫폼: ${Object.keys(PLATFORM_MAP).join(', ')}\n` +
|
|
41
|
+
`문의: https://github.com/saytohenry/alloy-framework/issues`
|
|
42
|
+
);
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
const [pkgName, binaryName] = entry;
|
|
47
|
+
|
|
48
|
+
// 바이너리 경로 탐색 (require.resolve로 설치된 패키지 위치 확인)
|
|
49
|
+
let binaryPath;
|
|
50
|
+
try {
|
|
51
|
+
const pkgDir = path.dirname(require.resolve(`${pkgName}/package.json`));
|
|
52
|
+
binaryPath = path.join(pkgDir, binaryName);
|
|
53
|
+
} catch (e) {
|
|
54
|
+
console.error(
|
|
55
|
+
`[Alloy WebRTC] 플랫폼 바이너리 패키지를 찾을 수 없습니다.\n` +
|
|
56
|
+
`필요한 패키지: ${pkgName}\n` +
|
|
57
|
+
`설치: npm install ${pkgName}\n\n` +
|
|
58
|
+
`원본 에러: ${e.message}`
|
|
59
|
+
);
|
|
60
|
+
process.exit(1);
|
|
61
|
+
}
|
|
62
|
+
|
|
63
|
+
// 바이너리 실행 (stdin/stdout/stderr 모두 상속)
|
|
64
|
+
try {
|
|
65
|
+
execFileSync(binaryPath, process.argv.slice(2), {
|
|
66
|
+
stdio: 'inherit',
|
|
67
|
+
env: process.env,
|
|
68
|
+
});
|
|
69
|
+
} catch (e) {
|
|
70
|
+
// execFileSync는 프로세스가 0이 아닌 코드로 종료하면 에러를 던짐
|
|
71
|
+
if (e.status !== undefined) {
|
|
72
|
+
process.exit(e.status);
|
|
73
|
+
}
|
|
74
|
+
console.error(`[Alloy WebRTC] alloy-worker 실행 실패: ${e.message}`);
|
|
75
|
+
process.exit(1);
|
|
76
|
+
}
|
package/env.manager.example
DELETED
|
@@ -1,35 +0,0 @@
|
|
|
1
|
-
# ─────────────────────────────────────────────
|
|
2
|
-
# 🎨 Alloy WebRTC Manager — 환경 설정 파일
|
|
3
|
-
# 이 파일을 .env로 복사하여 사용하세요:
|
|
4
|
-
# cp env.manager.example .env
|
|
5
|
-
# ─────────────────────────────────────────────
|
|
6
|
-
|
|
7
|
-
APP_NAMESPACE=webrtc-manager
|
|
8
|
-
HOST=0.0.0.0
|
|
9
|
-
PORT=9002
|
|
10
|
-
TCP_PORT=9001
|
|
11
|
-
|
|
12
|
-
# ─── MongoDB (MAIN) ───
|
|
13
|
-
DB_MAIN_TYPE=mongo
|
|
14
|
-
DB_MAIN_HOST=localhost
|
|
15
|
-
DB_MAIN_PORT=27017
|
|
16
|
-
DB_MAIN_USER=
|
|
17
|
-
DB_MAIN_PASSWORD=
|
|
18
|
-
DB_MAIN_DATABASE=alloy
|
|
19
|
-
DB_MAIN_LOGGING=true
|
|
20
|
-
# 또는 직접 URL 지정:
|
|
21
|
-
# DB_MAIN_URL=mongodb://user:pass@host:port/database
|
|
22
|
-
|
|
23
|
-
# ─── Redis (세션 공유) ───
|
|
24
|
-
REDIS_SESSION_URL=redis://:your_password@localhost:6379
|
|
25
|
-
SESSION_PREFIX=alloy_starter_sess:
|
|
26
|
-
SESSION_COOKIE_NAME=alloy_starter_sess
|
|
27
|
-
|
|
28
|
-
# ─── NATS (스트림 이벤트) ───
|
|
29
|
-
NATS_URL=nats://localhost:4222
|
|
30
|
-
NATS_PREFIX=alloy.stream
|
|
31
|
-
|
|
32
|
-
# ─── WebRTC 토큰 인증 ───
|
|
33
|
-
WEBRTC_TOKEN_AUTH=true
|
|
34
|
-
WEBRTC_TOKEN_SECRET=your-32-byte-secret-key-here!!!!!
|
|
35
|
-
WEBRTC_TOKEN_EXPIRY=3600
|
package/env.worker.example
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
# ─────────────────────────────────────────────
|
|
2
|
-
# 👷 Alloy WebRTC Worker — 환경 설정 파일
|
|
3
|
-
# 이 파일을 .env로 복사하여 사용하세요:
|
|
4
|
-
# cp env.worker.example .env
|
|
5
|
-
# ─────────────────────────────────────────────
|
|
6
|
-
|
|
7
|
-
APP_NAMESPACE=WEBRTC_WORKER
|
|
8
|
-
RUST_LOG=info
|
|
9
|
-
|
|
10
|
-
# ─── Manager 연결 ───
|
|
11
|
-
MANAGER_HOST=127.0.0.1
|
|
12
|
-
MANAGER_PORT=9001
|
|
13
|
-
|
|
14
|
-
# ─── Worker 포트 설정 ───
|
|
15
|
-
WORKER_INGEST_PORT=7001
|
|
16
|
-
WORKER_WEBRTC_PORT=50002
|
|
17
|
-
WORKER_IP=127.0.0.1
|
|
18
|
-
WORKER_WHIP_PORT=7777
|
|
19
|
-
|
|
20
|
-
# ─── WebRTC ───
|
|
21
|
-
STUN_SERVER=stun:stun.l.google.com:19302
|
|
22
|
-
MAX_SESSIONS=100
|
|
23
|
-
|
|
24
|
-
# ─── NATS ───
|
|
25
|
-
NATS_HOST=localhost
|
|
26
|
-
NATS_PORT=4222
|
|
27
|
-
NATS_USER=admin
|
|
28
|
-
NATS_PASSWORD=your_nats_password
|
|
29
|
-
NATS_PREFIX=alloy
|
|
30
|
-
|
|
31
|
-
# ─── WebRTC 토큰 인증 ───
|
|
32
|
-
WEBRTC_TOKEN_AUTH=true
|
|
33
|
-
WEBRTC_TOKEN_SECRET=your-32-byte-secret-key-here!!!!!
|
|
34
|
-
WEBRTC_TOKEN_EXPIRY=3600
|