Errors being 400 or connection failed
it works if there are no clusters just single instance of node server
nodejs app is running behind coolify (traefik)
sessions are sticky using pg, express-session, connect-pg-simple
const app = express()
...
const server = http.createServer(app)
...
const sessionConfig = {
store: new (connectPgStore(expressSession))({}),
secret: process.env.COOKIE_SECRET,
resave: false,
saveUninitialized: true,
cookie: {
maxAge: 30 * 24 * 60 * 60 * 1000,
proxy: false,
saveUninitialized: true,
resave: true
},
sameSite: 'none; Secure'
}
const sessesionMiddleware = expressSession(sessionConfig)
app.use(sessesionMiddleware)
...
import { createAdapter } from '@socket.io/redis-adapter'
import { Redis } from 'ioredis'
import { Server } from 'socket.io'
const subClient = pubClient.duplicate()
const io = new Server(server, {
adapter: createAdapter(pubClient, subClient)
})