server
Some checks failed
Deploy / deploy (push) Failing after 9s

This commit is contained in:
Никита Круглицкий 2025-10-09 23:51:17 +06:00
parent d5915a9d40
commit 7b4be60099
6 changed files with 56 additions and 31 deletions

View File

@ -24,6 +24,9 @@ jobs:
ssh-strict: false ssh-strict: false
persist-credentials: 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 - name: Build
run: docker build -t chad-server ./server run: docker build -t chad-server ./server

View File

@ -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<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 export type Auth = typeof auth

View File

@ -1,21 +1,59 @@
import { createServer as createHttpServer } from 'node:http'
import { createExpressMiddleware } from '@trpc/server/adapters/express' import { createExpressMiddleware } from '@trpc/server/adapters/express'
import { consola } from 'consola'
import cookieParser from 'cookie-parser' import cookieParser from 'cookie-parser'
import express from 'express' import express from 'express'
import * as mediasoup from 'mediasoup'
import { Server as SocketServer } from 'socket.io'
import { createContext } from './trpc/context' import { createContext } from './trpc/context'
import { appRouter } from './trpc/routers' import { appRouter } from './trpc/routers'
import webrtcSocket from './webrtc/socket'
const app = express() (async () => {
app.use(cookieParser()) const app = express()
app.use(express.json())
app.use( app.use(cookieParser())
'/chad/trpc', app.use(express.json())
createExpressMiddleware({
router: appRouter,
createContext,
}),
)
app.listen(process.env.PORT || 4000, () => { app.use(
console.log('✅ Server running') '/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')
})
})()

View File

@ -1,5 +0,0 @@
import webrtcSocket from './webrtc'
export {
webrtcSocket,
}

View File

@ -1,8 +1,10 @@
import { router } from '../router' import { router } from '../router'
import { authRouter } from './auth' import { authRouter } from './auth'
import { webrtcRouter } from './webrtc'
export const appRouter = router({ export const appRouter = router({
auth: authRouter, auth: authRouter,
webrtc: webrtcRouter,
}) })
export type AppRouter = typeof appRouter export type AppRouter = typeof appRouter