#2, #3 update
Some checks failed
Deploy / server (push) Successful in 4m5s
Deploy / client (push) Failing after 36s

This commit is contained in:
Никита Круглицкий 2025-10-01 21:31:16 +06:00
parent 6110a17533
commit c0898d0df2
5 changed files with 66 additions and 4 deletions

View File

@ -39,3 +39,36 @@ jobs:
--label "traefik.http.routers.chad-server.tls.certresolver=myresolver" \ --label "traefik.http.routers.chad-server.tls.certresolver=myresolver" \
--label "traefik.http.services.chad-server.loadbalancer.server.port=80" \ --label "traefik.http.services.chad-server.loadbalancer.server.port=80" \
chad-server:latest chad-server:latest
client:
runs-on: ubuntu-latest
steps:
- name: Keyscan
run: |
ssh-keyscan git.koptilnya.xyz >> ~/.ssh/known_hosts
- name: Checkout
uses: actions/checkout@v4
with:
ssh-key: ${{ secrets.SSH_PRIVATE_KEY }}
ssh-strict: false
persist-credentials: false
- name: Build
run: docker build -t chad-client ./client
- name: Stop old container
run: docker rm -f chad-client || true
- name: Run
run: |
docker run -d \
--name chad-client \
--network traefik \
--label "traefik.enable=true" \
--label "traefik.http.routers.chad-client.rule=Host(\`chad.koptilnya.xyz\`)" \
--label "traefik.http.routers.chad-client.entrypoints=websecure" \
--label "traefik.http.routers.chad-client.tls.certresolver=myresolver" \
--label "traefik.http.services.chad-client.loadbalancer.server.port=80" \
chad-client:latest

17
client/Dockerfile Normal file
View File

@ -0,0 +1,17 @@
FROM node:lts-alpine AS builder
WORKDIR /app
COPY package.json yarn.lock ./
RUN yarn install --frozen-lockfile
COPY . .
RUN yarn build
FROM nginx:stable-alpine
COPY --from=builder /app/dist /usr/share/nginx/html
EXPOSE 80
CMD ["nginx", "-g", "daemon off;"]

View File

@ -43,7 +43,13 @@ export const useMediasoup = createGlobalState(() => {
async function createSendTransport() { async function createSendTransport() {
const params = await socket.emitWithAck('createTransport') const params = await socket.emitWithAck('createTransport')
sendTransport = device.createSendTransport(params) sendTransport = device.createSendTransport({
...params,
iceServers: [
{ urls: 'stun:stun.sipnet.ru:3478' },
...(params.iceServers ?? []),
],
})
sendTransport.on('connect', async ({ dtlsParameters }, callback, errback) => { sendTransport.on('connect', async ({ dtlsParameters }, callback, errback) => {
try { try {
@ -83,7 +89,13 @@ export const useMediasoup = createGlobalState(() => {
async function createRecvTransport() { async function createRecvTransport() {
const params = await socket.emitWithAck('createTransport') const params = await socket.emitWithAck('createTransport')
recvTransport = device.createRecvTransport(params) recvTransport = device.createRecvTransport({
...params,
iceServers: [
{ urls: 'stun:stun.sipnet.ru:3478' },
...(params.iceServers ?? []),
],
})
recvTransport.on('connect', async ({ dtlsParameters }, callback, errback) => { recvTransport.on('connect', async ({ dtlsParameters }, callback, errback) => {
try { try {

View File

@ -4,7 +4,7 @@ RUN corepack enable
COPY package.json yarn.lock ./ COPY package.json yarn.lock ./
RUN apt update && apt install --yes python3 python3-pip build-essential RUN apt update && apt install --yes python3 python3-pip build-essential
RUN yarn set version latest RUN yarn set version latest
RUN yarn install RUN yarn install --frozen-lockfile
COPY . . COPY . .
ENV PORT=80 ENV PORT=80

View File

@ -55,7 +55,7 @@ io.on("connection", (socket) => {
socket.on("createTransport", async (cb) => { socket.on("createTransport", async (cb) => {
try { try {
const transport = await router.createWebRtcTransport({ const transport = await router.createWebRtcTransport({
listenIps: [{ ip: "0.0.0.0", announcedIp: "127.0.0.1" }], listenIps: [{ ip: "0.0.0.0", announcedIp: "91.144.171.182" }],
enableUdp: true, enableUdp: true,
enableTcp: true, enableTcp: true,
preferUdp: true, preferUdp: true,