diff --git a/Dockerfile b/Dockerfile index cbb7dca..9f92456 100644 --- a/Dockerfile +++ b/Dockerfile @@ -46,13 +46,17 @@ ARG TZ="Asia/Shanghai" ENV TZ ${TZ} COPY --from=be-builder /go/bin/Cloudreve /cloudreve/cloudreve +COPY docker-bootstrap.sh /cloudreve/bootstrap.sh RUN apk upgrade \ - && apk add bash tzdata \ + && apk add bash tzdata aria2 \ && ln -s /cloudreve/cloudreve /usr/bin/cloudreve \ && ln -sf /usr/share/zoneinfo/${TZ} /etc/localtime \ && 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 EXPOSE 5212/tcp @@ -65,4 +69,4 @@ VOLUME /etc/cloudreve VOLUME /data -ENTRYPOINT ["cloudreve"] +ENTRYPOINT ["sh", "/cloudreve/bootstrap.sh"] diff --git a/README.md b/README.md index 4420f66..408f7b8 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ * :cloud: 支持本机、从机、七牛、阿里云 OSS、腾讯云 COS、又拍云、OneDrive (包括世纪互联版) 作为存储端 * :outbox_tray: 上传/下载 支持客户端直传,支持下载限速 -* 💾 可对接 Aria2 离线下载 +* 💾 可对接 Aria2 离线下载,可使用多个从机机点分担下载任务 * 📚 在线 压缩/解压缩、多文件打包下载 * 💻 覆盖全部存储策略的 WebDAV 协议支持 * :zap: 拖拽上传、目录上传、流式上传处理 diff --git a/bootstrap/app.go b/bootstrap/app.go index d327b2a..2906526 100644 --- a/bootstrap/app.go +++ b/bootstrap/app.go @@ -15,7 +15,7 @@ func InitApplication() { fmt.Print(` ___ _ _ / __\ | ___ _ _ __| |_ __ _____ _____ - / / | |/ _ \| | | |/ _ | '__/ _ \ \ / / _ \ + / / | |/ _ \| | | |/ _ | '__/ _ \ \ / / _ \ / /___| | (_) | |_| | (_| | | | __/\ V / __/ \____/|_|\___/ \__,_|\__,_|_| \___| \_/ \___| diff --git a/docker-bootstrap.sh b/docker-bootstrap.sh new file mode 100644 index 0000000..e5d86fb --- /dev/null +++ b/docker-bootstrap.sh @@ -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 /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