{ "name": "mirotalksfu", "version": "1.7.43", "description": "WebRTC SFU browser-based video calls", "main": "Server.js", "scripts": { "test": "mocha tests/*.js", "start": "node app/src/Server.js", "start-dev": "nodemon app/src/Server.js", "debug": "DEBUG='mediasoup*' node app/src/Server.js", "compile": "npx browserify public/sfu/MediasoupClientCompile.js -o public/sfu/MediasoupClient.js", "lint": "npx prettier --write .", "docker-build": "docker build --tag mirotalk/sfu:latest .", "docker-rmi": "docker images |grep '' |awk '{print $3}' |xargs docker rmi", "docker-push": "docker push mirotalk/sfu:latest", "docker-pull": "docker pull mirotalk/sfu:latest", "docker-rmc": "docker container rm mirotalksfu --force", "docker-run": "docker run -d -p 40000-40100:40000-40100 -p 3010:3010 -v ./app/src/config.js:/src/app/src/config.js:ro --name mirotalksfu mirotalk/sfu:latest", "docker-run-vm": "docker run -d -p 40000-40100:40000-40100 -p 3010:3010 -v ./app/:/src/app/:ro -v ./public/:/src/public/:ro --name mirotalksfu mirotalk/sfu:latest", "docker-start": "docker start mirotalksfu", "docker-stop": "docker stop mirotalksfu", "rtmp-start": "docker-compose -f rtmpServers/nginx-rtmp/docker-compose.yml up -d", "rtmp-stop": "docker-compose -f rtmpServers/nginx-rtmp/docker-compose.yml down", "rtmp-restart": "docker-compose -f rtmpServers/nginx-rtmp/docker-compose.yml down && docker-compose -f rtmpServers/nginx-rtmp/docker-compose.yml up -d", "rtmp-logs": "docker logs -f mirotalk-rtmp", "nms-node-start": "node rtmpServers/node-media-server/src/server.js", "nms-start": "docker-compose -f rtmpServers/node-media-server/docker-compose.yml up -d", "nms-stop": "docker-compose -f rtmpServers/node-media-server/docker-compose.yml down", "nms-restart": "docker-compose -f rtmpServers/node-media-server/docker-compose.yml down && docker-compose -f rtmpServers/node-media-server/docker-compose.yml up -d", "nms-logs": "docker logs -f mirotalk-nms" }, "repository": { "type": "git", "url": "git+https://github.com/miroslavpejic85/mirotalksfu" }, "keywords": [ "webrtc", "socket.io", "broadcasting", "sfu", "nodejs", "video", "audio", "openai", "oidc", "chatgpt", "rtmp", "poll", "client", "server", "streaming", "realtime" ], "author": "Miroslav Pejic", "license": "AGPL-3.0", "engines": { "node": ">=18" }, "dependencies": { "@mattermost/client": "10.2.0", "@sentry/node": "^9.1.0", "axios": "^1.7.9", "colors": "1.4.0", "compression": "1.8.0", "cors": "2.8.5", "crypto-js": "4.2.0", "discord.js": "^14.18.0", "dompurify": "^3.2.4", "express": "4.21.2", "express-openid-connect": "^2.17.1", "fluent-ffmpeg": "^2.1.3", "he": "^1.2.0", "helmet": "^8.0.0", "httpolyglot": "0.1.2", "js-yaml": "^4.1.0", "jsdom": "^26.0.0", "jsonwebtoken": "^9.0.2", "mediasoup": "3.15.3", "mediasoup-client": "3.8.1", "ngrok": "^5.0.0-beta.2", "nodemailer": "^6.10.0", "openai": "^4.85.1", "qs": "6.14.0", "sanitize-filename": "^1.6.3", "socket.io": "4.8.1", "swagger-ui-express": "5.0.1", "uuid": "11.0.5" }, "devDependencies": { "mocha": "^11.1.0", "node-fetch": "^3.3.2", "nodemon": "^3.1.9", "prettier": "3.5.1", "proxyquire": "^2.1.3", "should": "^13.2.3", "sinon": "^19.0.2" } }