-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathqofbot.Dockerfile
56 lines (42 loc) · 2.17 KB
/
qofbot.Dockerfile
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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
FROM node:22-slim AS build
ENV PNPM_HOME="/pnpm"
ENV PATH="$PNPM_HOME:$PATH"
RUN corepack enable
WORKDIR /app
COPY pnpm-workspace.yaml package.json pnpm-lock.yaml tsconfig.json /app/
COPY patches /app/patches
COPY apps/qqofbot/package.json /app/apps/qqofbot/
COPY packages/botcore/package.json /app/packages/botcore/
COPY packages/botfirm/package.json /app/packages/botfirm/
COPY packages/clients/package.json /app/packages/clients/
COPY packages/data/package.json /app/packages/data/
COPY packages/types/package.json /app/packages/types/
COPY packages/utils/package.json /app/packages/utils/
COPY packages/adapters/package.json /app/packages/adapters/
RUN --mount=type=cache,id=pnpm,target=/pnpm/store,sharing=locked \
--mount=type=secret,id=npmrc,target=/root/.npmrc \
pnpm install --frozen-lockfile
COPY packages /app/packages
RUN #cd /app/packages/adapters/ && pnpm run build
COPY apps/qqofbot /app/apps/qqofbot
RUN cd /app/apps/qqofbot && pnpm run build
RUN --mount=type=cache,id=pnpm,target=/pnpm/store,sharing=locked \
--mount=type=secret,id=npmrc,target=/root/.npmrc \
pnpm deploy --filter=@clansty/maibot-qofbot --prod deploy
FROM node:22-slim
RUN rm -f /etc/apt/apt.conf.d/docker-clean; echo 'Binary::apt::APT::Keep-Downloaded-Packages "true";' > /etc/apt/apt.conf.d/keep-cache
RUN --mount=type=cache,target=/var/cache/apt,sharing=locked \
--mount=type=cache,target=/var/lib/apt,sharing=locked \
apt update \
&& apt-get --no-install-recommends install -y curl gnupg gosu libxss1 software-properties-common apt-transport-https ca-certificates \
&& curl -fSsL https://dl.google.com/linux/linux_signing_key.pub | gpg --dearmor | tee /usr/share/keyrings/google-chrome.gpg \
&& sh -c 'echo "deb [arch=amd64 signed-by=/usr/share/keyrings/google-chrome.gpg] https://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google.list' \
&& apt-get update \
&& apt-get install -y google-chrome-stable \
--no-install-recommends
WORKDIR /app
COPY --from=build /app/deploy /app
COPY apps/qqofbot/docker-entrypoint.sh /app/entrypoint.sh
RUN chmod +x /app/entrypoint.sh
ENV PUPPETEER_EXECUTABLE_PATH /usr/bin/google-chrome-stable
CMD /app/entrypoint.sh