Integrate aria2c support & fix unintended behavior for docker image (#1073)

* Update Dockerfile

* Create docker-bootstrap.sh

In addition to spawn cloudreve, this script generates password for aria2 so that users can take advantage of aria2 more conveniently instead of configuring aria2 by themselves.
This commit is contained in:
milkice 2021-11-29 17:45:33 +08:00 committed by GitHub
parent 762f0f9c68
commit 45597adcd3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
2 changed files with 22 additions and 3 deletions

View file

@ -46,13 +46,17 @@ ARG TZ="Asia/Shanghai"
ENV TZ ${TZ} ENV TZ ${TZ}
COPY --from=be-builder /go/bin/Cloudreve /cloudreve/cloudreve COPY --from=be-builder /go/bin/Cloudreve /cloudreve/cloudreve
COPY docker-bootstrap.sh /cloudreve/bootstrap.sh
RUN apk upgrade \ RUN apk upgrade \
&& apk add bash tzdata \ && apk add bash tzdata aria2 \
&& ln -s /cloudreve/cloudreve /usr/bin/cloudreve \ && ln -s /cloudreve/cloudreve /usr/bin/cloudreve \
&& ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \ && ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \
&& echo ${TZ} > /etc/timezone \ && echo ${TZ} > /etc/timezone \
&& rm -rf /var/cache/apk/* && rm -rf /var/cache/apk/* \
&& mkdir /etc/cloudreve \
&& ln -s /etc/cloudreve/cloureve.db /cloudreve/cloudreve.db \
&& ln -s /etc/cloudreve/conf.ini /cloudreve/conf.ini
# cloudreve use tcp 5212 port by default # cloudreve use tcp 5212 port by default
EXPOSE 5212/tcp EXPOSE 5212/tcp
@ -65,4 +69,4 @@ VOLUME /etc/cloudreve
VOLUME /data VOLUME /data
ENTRYPOINT ["cloudreve"] ENTRYPOINT ["sh", "/cloudreve/bootstrap.sh"]

15
docker-bootstrap.sh Normal file
View file

@ -0,0 +1,15 @@
#!/bin/sh
GREEN='\033[0;32m'
RESET='\033[0m'
if [ ! -f /etc/cloudreve/aria2c.conf ]; then
echo -e "[${GREEN}aria2c${RESET}] aria2c config not found. Generating..."
secret=$(tr -dc A-Za-z0-9 </dev/urandom | head -c 13)
echo -e "[${GREEN}aria2c${RESET}] Generated port: 6800, secret: $secret"
cat <<EOF > /etc/cloudreve/aria2c.conf
enable-rpc=true
rpc-listen-port=6800
rpc-secret=$secret
EOF
fi
aria2c --conf-path /etc/cloudreve/aria2c.conf -D
cloudreve