mirror of
https://github.com/gnmyt/myspeed.git
synced 2026-02-09 23:18:37 -06:00
42 lines
1001 B
Docker
Executable File
42 lines
1001 B
Docker
Executable File
FROM node:20-alpine AS client-build
|
|
|
|
WORKDIR /client
|
|
COPY ./client/package*.json ./
|
|
RUN npm install --force
|
|
COPY ./client ./
|
|
RUN npm run build
|
|
|
|
FROM denoland/deno:debian AS server-build
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
python3 make g++ nodejs npm \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /myspeed
|
|
|
|
COPY ./server /myspeed/server
|
|
COPY ./deno.json /myspeed/deno.json
|
|
|
|
RUN deno install --allow-scripts
|
|
|
|
FROM denoland/deno:debian
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
tzdata \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
ENV TZ=Etc/UTC
|
|
|
|
WORKDIR /myspeed
|
|
|
|
COPY --from=server-build /myspeed/server /myspeed/server
|
|
COPY --from=server-build /myspeed/deno.json /myspeed/deno.json
|
|
COPY --from=server-build /myspeed/node_modules /myspeed/node_modules
|
|
COPY --from=server-build /deno-dir /deno-dir
|
|
COPY --from=client-build /client/build /myspeed/build
|
|
|
|
VOLUME ["/myspeed/data"]
|
|
|
|
EXPOSE 5216
|
|
|
|
CMD ["deno", "run", "--allow-all", "server/index.js"] |