broadcast socket.io via express.js
322
docker run -d -p 3000:3000 --env ACCESS_TOKEN=123456789 --name=broadcast --restart=always eskater/broadcast.socket.express:latest
/:nsp/:room/:event/?access_token=123456789 -> nsp.to($room).emit($event, req.body) // :nsp - user, chat, etc../:nsp/:room/users/?access_token=123456789 // return current users in room of nspEach endpoint must return data.
{id: 666, name: 'my name'}{id: 333, code: '6b5d7bbb-c977-485b-99cd-731478de40ed'}import {Manager} from 'socket.io-client';
const manage = new Manager(null, {path: '/broadcast/socket', withCredentials: true}); // or {auth: {token: ''}}
const user = manage.socket('/user'); // send request to USER_ENDPOINT for access
user.on('notification', data => console.log(data)); // {value: 'test'}
const token = '6b5d7bbb-c977-485b-99cd-731478de40ed';
const chat = manage.socket('/chat');
chat.on('test', data => console.log(data)); // {data: {value: 'test'}, room: '6b5d7bbb-c977-485b-99cd-731478de40ed'}
chat.emit('join', token); // send request to ROOM_ENDPOINT for access
location /broadcast/ {
proxy_pass http://broadcast:3000/;
proxy_http_version 1.1;
proxy_set_header Host $host;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_set_header X-NginX-Proxy true;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
broadcast:
image: eskater/broadcast.socket.express:latest
container_name: app_broadcast
environment:
- "ACCESS_TOKEN=${BROADCAST_ACCESS_TOKEN}"
- "USER_ENDPOINT=http://app/restful/v1/services/socket/user/auth/"
- "ROOM_ENDPOINT=http://app/restful/v1/services/socket/room/auth/"
networks:
- backend
Content type
Image
Digest
sha256:cc19553ac…
Size
55.5 MB
Last updated
about 4 years ago
docker pull eskater/broadcast.socket.express