@whyour/qinglong 0.14.4 → 0.14.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/docker/310.Dockerfile +81 -0
- package/package.json +1 -1
|
@@ -0,0 +1,81 @@
|
|
|
1
|
+
FROM node:20-slim as nodebuilder
|
|
2
|
+
|
|
3
|
+
FROM python:3.10-slim-bullseye as builder
|
|
4
|
+
COPY package.json .npmrc pnpm-lock.yaml /tmp/build/
|
|
5
|
+
COPY --from=nodebuilder /usr/local/bin/node /usr/local/bin/
|
|
6
|
+
COPY --from=nodebuilder /usr/local/lib/node_modules/. /usr/local/lib/node_modules/
|
|
7
|
+
RUN set -x && \
|
|
8
|
+
ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \
|
|
9
|
+
apt update && \
|
|
10
|
+
apt install --no-install-recommends -y libatomic1 && \
|
|
11
|
+
npm i -g pnpm@8.3.1 && \
|
|
12
|
+
cd /tmp/build && \
|
|
13
|
+
pnpm install --prod
|
|
14
|
+
|
|
15
|
+
FROM python:3.10-slim-bullseye
|
|
16
|
+
|
|
17
|
+
ARG QL_MAINTAINER="whyour"
|
|
18
|
+
LABEL maintainer="${QL_MAINTAINER}"
|
|
19
|
+
ARG QL_URL=https://github.com/${QL_MAINTAINER}/qinglong.git
|
|
20
|
+
ARG QL_BRANCH=develop
|
|
21
|
+
|
|
22
|
+
ENV PNPM_HOME=/root/.local/share/pnpm \
|
|
23
|
+
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/root/.local/share/pnpm:/root/.local/share/pnpm/global/5/node_modules:$PNPM_HOME \
|
|
24
|
+
NODE_PATH=/usr/local/bin:/usr/local/pnpm-global/5/node_modules:/usr/local/lib/node_modules:/root/.local/share/pnpm/global/5/node_modules \
|
|
25
|
+
LANG=C.UTF-8 \
|
|
26
|
+
SHELL=/bin/bash \
|
|
27
|
+
PS1="\u@\h:\w \$ " \
|
|
28
|
+
QL_DIR=/ql \
|
|
29
|
+
QL_BRANCH=${QL_BRANCH}
|
|
30
|
+
|
|
31
|
+
COPY --from=nodebuilder /usr/local/bin/node /usr/local/bin/
|
|
32
|
+
COPY --from=nodebuilder /usr/local/lib/node_modules/. /usr/local/lib/node_modules/
|
|
33
|
+
|
|
34
|
+
RUN set -x && \
|
|
35
|
+
ln -s /usr/local/lib/node_modules/npm/bin/npm-cli.js /usr/local/bin/npm && \
|
|
36
|
+
apt update && \
|
|
37
|
+
apt upgrade -y && \
|
|
38
|
+
apt install --no-install-recommends -y git \
|
|
39
|
+
curl \
|
|
40
|
+
wget \
|
|
41
|
+
tzdata \
|
|
42
|
+
perl \
|
|
43
|
+
openssl \
|
|
44
|
+
openssh-client \
|
|
45
|
+
nginx \
|
|
46
|
+
jq \
|
|
47
|
+
procps \
|
|
48
|
+
netcat \
|
|
49
|
+
unzip \
|
|
50
|
+
libatomic1 && \
|
|
51
|
+
apt clean && \
|
|
52
|
+
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && \
|
|
53
|
+
echo "Asia/Shanghai" >/etc/timezone && \
|
|
54
|
+
git config --global user.email "qinglong@@users.noreply.github.com" && \
|
|
55
|
+
git config --global user.name "qinglong" && \
|
|
56
|
+
git config --global http.postBuffer 524288000 && \
|
|
57
|
+
npm install -g pnpm@8.3.1 pm2 tsx && \
|
|
58
|
+
rm -rf /root/.pnpm-store && \
|
|
59
|
+
rm -rf /root/.local/share/pnpm/store && \
|
|
60
|
+
rm -rf /root/.cache && \
|
|
61
|
+
rm -rf /root/.npm
|
|
62
|
+
|
|
63
|
+
ARG SOURCE_COMMIT
|
|
64
|
+
RUN git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} && \
|
|
65
|
+
cd ${QL_DIR} && \
|
|
66
|
+
cp -f .env.example .env && \
|
|
67
|
+
chmod 777 ${QL_DIR}/shell/*.sh && \
|
|
68
|
+
chmod 777 ${QL_DIR}/docker/*.sh && \
|
|
69
|
+
git clone --depth=1 -b ${QL_BRANCH} https://github.com/${QL_MAINTAINER}/qinglong-static.git /static && \
|
|
70
|
+
mkdir -p ${QL_DIR}/static && \
|
|
71
|
+
cp -rf /static/* ${QL_DIR}/static && \
|
|
72
|
+
rm -rf /static
|
|
73
|
+
|
|
74
|
+
COPY --from=builder /tmp/build/node_modules/. /ql/node_modules/
|
|
75
|
+
|
|
76
|
+
WORKDIR ${QL_DIR}
|
|
77
|
+
|
|
78
|
+
HEALTHCHECK --interval=5s --timeout=2s --retries=20 \
|
|
79
|
+
CMD curl -sf --noproxy '*' http://127.0.0.1:5400/api/health || exit 1
|
|
80
|
+
|
|
81
|
+
ENTRYPOINT ["./docker/docker-entrypoint.sh"]
|