# Domain HOST=localhost # Signaling Server listen port PORT=3000 # Enable self-signed certs (app/ssl) HTTPS=false # true or false # Time Zone corresponding to timezone identifiers from the IANA Time Zone Database es Europe/Rome default UTC TZ=UTC # Logs LOGS_DEBUG=true # true or false LOGS_COLORS=true # true or false # Cors # Origin: Allow specified origin es '["https://example.com", "https://subdomain.example.com", "http://localhost:3000"]' or # all origins '*' if not specified as per default. # Methods: Allow only GET and POST methods CORS_ORIGIN='*' CORS_METHODS='["GET", "POST"]' # IP whitelist # Access to the instance is restricted to only the specified IP addresses in the allowed list. This feature is disabled by default. IP_WHITELIST_ENABLED=false # true or false IP_WHITELIST_ALLOWED='["127.0.0.1", "::1"]' # 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_ISSUER_BASE_URL='https://server.example.com' OIDC_BASE_URL='http://localhost:3000' # https://p2p.mirotalk.com OIDC_CLIENT_ID='ClientID' OIDC_CLIENT_SECRET='ClientSecret' OIDC_AUTH_REUIRED=false # set to true if authentication is required for all routes SESSION_SECRET='mirotalk-p2p-oidc-secret' # Host protection # HOST_PROTECTED: # - When set to true, it requires a valid username and password from the HOST_USERS list to initialize or join a room. # - When OIDC_ENABLED is utilized alongside host protection, the authenticated user will be recognized as valid.# HOST_USER_AUTH: When set to true, it also requires a valid username and password for joining the room. # HOST_USERS: This is the list of valid users along with their credentials. HOST_PROTECTED=false # true or false HOST_USER_AUTH=false # true or false HOST_USERS='[{"username": "username", "password": "password"},{"username": "username2", "password": "password2"}]' # JWT token config JWT_KEY=mirotalkp2p_jwt_secret JWT_EXP=1h # Presenters list # In our virtual room, the first participant to join will assume the role of the presenter. # Additionally, we have the option to include more presenters and co-presenters, each identified by their username. PRESENTERS='["Miroslav Pejic", "miroslav.pejic.85@gmail.com"]' # 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 # Stun # About: https://bloggeek.me/webrtcglossary/stun/ # 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 # About: https://bloggeek.me/webrtcglossary/turn/ # Recommended: https://github.com/coturn/coturn # Installation: https://github.com/miroslavpejic85/mirotalk/blob/master/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/ TURN_SERVER_ENABLED=true # true or false TURN_SERVER_URL=turn:a.relay.metered.ca:443 TURN_SERVER_USERNAME=e8dd65b92c62d3e36cafb807 TURN_SERVER_CREDENTIAL=uWdWNmkhvyqTEswO # IP lookup # Using GeoJS to get more info about peer by IP # Doc: https://www.geojs.io/docs/v1/endpoints/geo/ IP_LOOKUP_ENABLED=false # true or false # API # The response will give you a entrypoint / Room URL for your meeting. # curl -X POST "http://localhost:3000/api/v1/meeting" -H "authorization: mirotalkp2p_default_secret" -H "Content-Type: application/json" API_KEY_SECRET=mirotalkp2p_default_secret API_DISABLED='["token", "meetings"]' # Survey URL # Using to redirect the client after close the call (feedbacks, website...) SURVEY_ENABLED=false # true or false SURVEY_URL=https://www.questionpro.com/t/AUs7VZq00L # Redirect URL on leave room # Upon leaving the room, users who either opt out of providing feedback or if the survey is disabled # will be redirected to a specified URL. If enabled false the default '/newrcall' URL will be used. REDIRECT_ENABLED=false # true or false REDIRECT_URL='https://p2p.mirotalk.com' # Sentry (optional) # 1. Goto https://sentry.io/ # 2. Create account # 3. Goto Settings/Projects/YourProjectName/Client Keys (DSN) SENTRY_ENABLED=false # true or false SENTRY_DSN=YourClientKeyDSN SENTRY_TRACES_SAMPLE_RATE=1.0 # Slack Integration (optional) # 1. Goto https://api.slack.com/apps/ # 2. Create your app # 3. On Settings - Basic Information - App Credentials chose your Signing Secret # 4. Create a Slash Commands and put as Request URL: https://your.domain.name/slack SLACK_ENABLED=false # true or false SLACK_SIGNING_SECRET=YourSlackSigningSecret # ChatGPT/OpenAI # 1. Goto https://platform.openai.com/ # 2. Create your account # 3. Generate your APIKey https://platform.openai.com/account/api-keys CHATGPT_ENABLED=false CHATGPT_BASE_PATH=https://api.openai.com/v1/ CHATGPT_APIKEY=YourOpenAiApiKey CHATGPT_MODEL=gpt-3.5-turbo CHATGPT_MAX_TOKENS=1000 CHATGPT_TEMPERATURE=0 # Configure email settings for notifications or alerts # Refer to the documentation for Gmail configuration: https://support.google.com/mail/answer/185833?hl=en EMAIL_ALERT=false # true or false EMAIL_HOST=smtp.gmail.com EMAIL_PORT=587 EMAIL_USERNAME=your_username EMAIL_PASSWORD=your_password EMAIL_SEND_TO=p2p.mirotalk@gmail.com # Stats # Umami: https://github.com/umami-software/umami # We use our Self-hosted Umami to track aggregated usage statistics in order to improve our service. STATS_ENABLED=false # true or false STATS_SCR=https://stats.mirotalk.com/script.js STATS_ID=c7615aa7-ceec-464a-baba-54cb605d7261