-
-
Notifications
You must be signed in to change notification settings - Fork 54
Expand file tree
/
Copy path.env.template
More file actions
125 lines (90 loc) 路 4.57 KB
/
Copy path.env.template
File metadata and controls
125 lines (90 loc) 路 4.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
# ====================================================
# MiroTalk BRO v.1.3.62 - Environment Configuration
# ====================================================
# App environment
NODE_ENV=development #development or production
# Signaling Server
HOST='' # Default http://localhost:3016
PORT=3016
# Broadcasting mode: 'p2p' (mesh peer-to-peer) or 'sfu' (selected forwarding unit using mediasoup)
BROADCASTING=p2p
# Admin-only broadcasting: when true, only users who provide ADMIN_TOKEN can become broadcasters.
# All other users are limited to view-only access.
ADMIN_ONLY_BROADCAST=false
ADMIN_TOKEN=mirotalkbro_default_admin_token
# mediasoup SFU (only used when BROADCASTING=sfu)
# Worker settings
MEDIASOUP_NUM_WORKERS= # Number of workers (default: number of CPU cores)
MEDIASOUP_RTC_MIN_PORT=20000 # Minimum RTC port for media
MEDIASOUP_RTC_MAX_PORT=20099 # Maximum RTC port for media
MEDIASOUP_LOG_LEVEL=error # debug, warn, error, none
# Network settings (important for Docker/NAT deployments)
MEDIASOUP_LISTEN_IP=0.0.0.0 # IP to bind to (use 0.0.0.0 for all interfaces)
MEDIASOUP_ANNOUNCED_IP=127.0.0.1 # Public IP to announce (required behind NAT/Docker)
# Logging
LOGS_JSON=false # true or false
LOGS_JSON_PRETTY=false # true or false
# Trust Proxy
TRUST_PROXY=false #true or false
# Time Zone corresponding to timezone identifiers from the IANA Time Zone Database es Europe/Rome default UTC
TZ=UTC
# Logs
DEBUG=true # true or false
# Cors
# Origin: Allow specified origins like '["https://example.com", "https://subdomain.example.com", "http://localhost:3000"]' or
# all origins '*' if not specified by default.
# Methods: Allow only GET and POST methods
CORS_ORIGIN='*'
CORS_METHODS='["GET", "POST"]'
# Embed (iframe) restrictions via CSP frame-ancestors (also mirrored to X-Frame-Options when possible).
# Comma-separated list of origins allowed to embed MiroTalk BRO in an <iframe>.
# Special values:
# empty = header NOT set, embedding allowed anywhere (default)
# 'none' = block ALL embedding
# 'self' = allow same-origin embedding only
# Example: ALLOWED_EMBED_ORIGINS=https://yourdomain.com,https://*.partner.com
ALLOWED_EMBED_ORIGINS=
# OIDC - OpenID Connect
# 1. Sign up for an account at https://auth0.com.
# 2. Navigate to https://manage.auth0.com/ to create a new application tailored to your specific requirements.
# For those seeking an open-source solution, check out: https://github.com/panva/node-oidc-provider
OIDC_ENABLED=false # true or false
OIDC_BASE_URL_DYNAMIC=false # Derive OIDC baseURL from incoming Host header (true|false). Requires OIDC_ALLOWED_DYNAMIC_BASE_URLS
OIDC_ALLOWED_DYNAMIC_BASE_URLS= # Comma-separated allowlist of origins permitted when OIDC_BASE_URL_DYNAMIC=true (e.g. https://bro.example.com,https://bro.eu.example.com)
OIDC_ISSUER_BASE_URL='https://server.example.com'
OIDC_BASE_URL='http://localhost:3016' # https://bro.mirotalk.com
OIDC_CLIENT_ID='ClientID'
OIDC_CLIENT_SECRET='ClientSecret'
OIDC_AUTH_REQUIRED=false # set to true if authentication is required for all routes
OIDC_AUTH_LOGOUT=true # # controls automatic logout from both your app and Auth0 when set to true
SESSION_SECRET='mirotalk-bro-oidc-secret'
# Stun: https://bloggeek.me/webrtcglossary/stun/
# Turn: https://bloggeek.me/webrtcglossary/turn/
# Recommended: https://github.com/coturn/coturn
# Installation: https://github.com/miroslavpejic85/mirotalkbro/blob/main/docs/coturn.md
# Free one: https://www.metered.ca/tools/openrelay/ (Please, create your own account)
# Check: https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/
STUN_SERVER_ENABLED=true # true or false
STUN_SERVER_URL=stun:stun.l.google.com:19302
TURN_SERVER_ENABLED=true # true or false
TURN_SERVER_URL=turn:a.relay.metered.ca:443
TURN_SERVER_USERNAME=e8dd65b92c62d3e36cafb807
TURN_SERVER_CREDENTIAL=uWdWNmkhvyqTEswO
# API
# The response will give you a entrypoint / URL for the direct join to the meeting.
# curl -X POST "http://localhost:3016/api/v1/join" -H "authorization: mirotalkbro_default_secret" -H "Content-Type: application/json" --data '{"room":"test"}'
API_KEY_SECRET=mirotalkbro_default_secret
# Ngrok
# 1. Goto https://ngrok.com
# 2. Get started for free
# 3. Copy YourNgrokAuthToken: https://dashboard.ngrok.com/get-started/your-authtoken
NGROK_ENABLED=false # true or false
NGROK_AUTH_TOKEN=YourNgrokAuthToken
# Sentry
# 1. Goto https://sentry.io/
# 2. Create account
# 3. Goto Settings/Projects/YourProjectName/Client Keys (DSN)
SENTRY_ENABLED=false # true or false
SENTRY_LOG_LEVELS=error # Log levels to capture in Sentry (e.g., error,warn)
SENTRY_DSN=YourClientKeyDSN
SENTRY_TRACES_SAMPLE_RATE=0.5