parent
d5915a9d40
commit
7b4be60099
@ -24,6 +24,9 @@ jobs:
|
||||
ssh-strict: false
|
||||
persist-credentials: false
|
||||
|
||||
- name: Backup DB
|
||||
run: cp /home/koptilnya/chad/data/database.db /home/koptilnya/chad/database-$(date +"%d-%m-%Y").db
|
||||
|
||||
- name: Build
|
||||
run: docker build -t chad-server ./server
|
||||
|
||||
|
||||
@ -4,17 +4,4 @@ import prisma from '../prisma/client'
|
||||
|
||||
export const auth = new Lucia<object, { username: string, displayName: string }>(new PrismaAdapter(prisma.session, prisma.user))
|
||||
|
||||
// export const auth = new Lucia({
|
||||
// adapter: new PrismaAdapter(prisma.session, prisma.user),
|
||||
// env: process.env.NODE_ENV === 'production' ? 'PROD' : 'DEV',
|
||||
// middleware: req => ({
|
||||
// headers: req.headers,
|
||||
// }),
|
||||
// transformUserData: user => ({
|
||||
// id: user.id,
|
||||
// username: user.username,
|
||||
// displayName: user.username,
|
||||
// }),
|
||||
// })
|
||||
|
||||
export type Auth = typeof auth
|
||||
|
||||
@ -1,21 +1,59 @@
|
||||
import { createServer as createHttpServer } from 'node:http'
|
||||
import { createExpressMiddleware } from '@trpc/server/adapters/express'
|
||||
import { consola } from 'consola'
|
||||
import cookieParser from 'cookie-parser'
|
||||
import express from 'express'
|
||||
import * as mediasoup from 'mediasoup'
|
||||
import { Server as SocketServer } from 'socket.io'
|
||||
import { createContext } from './trpc/context'
|
||||
import { appRouter } from './trpc/routers'
|
||||
import webrtcSocket from './webrtc/socket'
|
||||
|
||||
const app = express()
|
||||
app.use(cookieParser())
|
||||
app.use(express.json())
|
||||
(async () => {
|
||||
const app = express()
|
||||
|
||||
app.use(
|
||||
'/chad/trpc',
|
||||
createExpressMiddleware({
|
||||
router: appRouter,
|
||||
createContext,
|
||||
}),
|
||||
)
|
||||
app.use(cookieParser())
|
||||
app.use(express.json())
|
||||
|
||||
app.listen(process.env.PORT || 4000, () => {
|
||||
console.log('✅ Server running')
|
||||
})
|
||||
app.use(
|
||||
'/chad/trpc',
|
||||
createExpressMiddleware({
|
||||
router: appRouter,
|
||||
createContext,
|
||||
}),
|
||||
)
|
||||
|
||||
const server = createHttpServer(app)
|
||||
|
||||
const worker = await mediasoup.createWorker()
|
||||
worker.on('died', () => {
|
||||
consola.error('[Mediasoup]', 'Worker died, exiting...')
|
||||
|
||||
process.exit(1)
|
||||
})
|
||||
|
||||
const router = await worker.createRouter({
|
||||
mediaCodecs: [
|
||||
{
|
||||
kind: 'audio',
|
||||
mimeType: 'audio/opus',
|
||||
clockRate: 48000,
|
||||
channels: 2,
|
||||
parameters: { useinbandfec: 1, stereo: 1 },
|
||||
},
|
||||
],
|
||||
})
|
||||
|
||||
const io = new SocketServer(server, {
|
||||
path: '/chad/ws',
|
||||
cors: {
|
||||
origin: process.env.CORS_ORIGIN || '*',
|
||||
},
|
||||
})
|
||||
|
||||
webrtcSocket(io, router)
|
||||
|
||||
server.listen(process.env.PORT || 4000, () => {
|
||||
console.log('✅ Server running')
|
||||
})
|
||||
})()
|
||||
|
||||
@ -1,5 +0,0 @@
|
||||
import webrtcSocket from './webrtc'
|
||||
|
||||
export {
|
||||
webrtcSocket,
|
||||
}
|
||||
@ -1,8 +1,10 @@
|
||||
import { router } from '../router'
|
||||
import { authRouter } from './auth'
|
||||
import { webrtcRouter } from './webrtc'
|
||||
|
||||
export const appRouter = router({
|
||||
auth: authRouter,
|
||||
webrtc: webrtcRouter,
|
||||
})
|
||||
|
||||
export type AppRouter = typeof appRouter
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user