{ "name": "mirotalksfu", "version": "1.6.00", "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": { "@sentry/node": "^8.35.0", "axios": "^1.7.7", "body-parser": "1.20.3", "colors": "1.4.0", "compression": "1.7.4", "cors": "2.8.5", "crypto-js": "4.2.0", "discord.js": "^14.16.3", "dompurify": "^3.1.7", "express": "4.21.1", "express-openid-connect": "^2.17.1", "fluent-ffmpeg": "^2.1.3", "he": "^1.2.0", "httpolyglot": "0.1.2", "js-yaml": "^4.1.0", "jsdom": "^25.0.1", "jsonwebtoken": "^9.0.2", "mediasoup": "3.14.16", "mediasoup-client": "3.7.17", "ngrok": "^5.0.0-beta.2", "nodemailer": "^6.9.15", "openai": "^4.68.4", "qs": "6.13.0", "socket.io": "4.8.0", "swagger-ui-express": "5.0.1", "uuid": "10.0.0" }, "devDependencies": { "mocha": "^10.7.3", "node-fetch": "^3.3.2", "nodemon": "^3.1.7", "prettier": "3.3.3", "proxyquire": "^2.1.3", "should": "^13.2.3", "sinon": "^19.0.2" } }