-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathDockerfile.dev
More file actions
31 lines (22 loc) · 1.07 KB
/
Copy pathDockerfile.dev
File metadata and controls
31 lines (22 loc) · 1.07 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
# syntax=docker/dockerfile:1.25@sha256:0adf442eae370b6087e08edc7c50b552d80ddf261576f4ebd6421006b2461f12
FROM node:24.18.0-slim@sha256:b31e7a42fdf8b8aa5f5ed477c72d694301273f1069c5a2f71d53c6482e99a2fc
ENV PNPM_HOME=/pnpm
ENV PATH=$PNPM_HOME:$PATH
ENV MEDIASOUP_WORKER_BIN=/usr/local/bin/mediasoup-worker
# pnpm via corepack (bundled with Node 24).
RUN corepack enable
# argon2 still needs node-gyp (build-essential, python3). mediasoup's
# build is skipped via MEDIASOUP_WORKER_BIN + the script below, so we
# don't need python3-pip here.
RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential python3 ca-certificates curl \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY . .
# Fetch the kernel6 prebuilt before install so mediasoup's postinstall
# sees MEDIASOUP_WORKER_BIN and short-circuits.
RUN scripts/fetch-mediasoup-worker.sh /usr/local/bin
RUN --mount=type=cache,id=pnpm,target=/pnpm/store \
pnpm install --frozen-lockfile
EXPOSE 4991 5173 40000
CMD ["sh", "-c", "cd apps/client && pnpm dev --host 0.0.0.0 & cd apps/server && pnpm dev"]