From e4aa030c1bb2ce941c1b52b1d25c76bfe47a7972 Mon Sep 17 00:00:00 2001 From: mritd Date: Tue, 8 Sep 2020 08:51:44 +0800 Subject: [PATCH] chore(dockerfile): update node image to lts-buster update node image to lts-buster, because the alpine image cannot be obtained on arm/arm64, it will support `docker buildx` build after the upgrade. Signed-off-by: mritd --- Dockerfile | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/Dockerfile b/Dockerfile index ade3e2c9..e4e5e357 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,13 +1,13 @@ # build frontend -FROM node:lts-alpine3.12 AS fe-builder +FROM node:lts-buster AS fe-builder COPY ./assets /assets WORKDIR /assets +# yarn repo connection is unstable, adjust the network timeout to 10 min. RUN set -ex \ - && apk upgrade \ - && yarn install \ + && yarn install --network-timeout 600000 \ && yarn run build # build backend @@ -36,11 +36,30 @@ FROM alpine:3.12 AS dist LABEL maintainer="mritd " +# we use the Asia/Shanghai timezone by default, you can be modified +# by `docker build --build-arg=TZ=Other_Timezone ...` +ARG TZ="Asia/Shanghai" + +ENV TZ ${TZ} + COPY --from=be-builder /go/bin/cloudreve /cloudreve/cloudreve RUN apk upgrade \ && apk add bash tzdata \ && ln -s /cloudreve/cloudreve /usr/bin/cloudreve \ + && ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \ + && echo ${TZ} > /etc/timezone \ && rm -rf /var/cache/apk/* +# cloudreve use tcp 5212 port by default +EXPOSE 5212/tcp + +# cloudreve stores all files(including executable file) in the `/cloudreve` +# directory by default; users should mount the configfile to the `/etc/cloudreve` +# directory by themselves for persistence considerations, and the data storage +# directory recommends using `/data` directory. +VOLUME /etc/cloudreve + +VOLUME /data + ENTRYPOINT ["cloudreve"]