├── Dockerfile ├── Dockerfile1 ├── README.md ├── conf_tmp.yml └── entrypoint.sh /Dockerfile: -------------------------------------------------------------------------------- 1 | FROM debian:latest 2 | #更新,安装wget 3 | RUN apt-get update && apt-get install wget -y 4 | 5 | #配置架构变量(386、amd64、arm、arm64) 6 | ARG CPU=arm64 7 | #后端版本号 8 | ARG VERSION=1.0.4 9 | #前端版本号 10 | ARG QVERSION=1.0.4 11 | 12 | 13 | #下载项目后端文件 14 | RUN wget https://github.com/Xhofe/alist/releases/download/v${VERSION}/alist_v${VERSION}_linux_${CPU}.tar.gz 15 | RUN tar -zvxf alist_v${VERSION}_linux_${CPU}.tar.gz 16 | RUN cp linux_${CPU}/alist alist 17 | 18 | #下载前端并解压文件 19 | RUN wget https://github.com/Xhofe/alist-web/releases/download/v${QVERSION}/refs.tags.v${QVERSION}.tar.gz 20 | RUN tar -zvxf refs.tags.v${QVERSION}.tar.gz 21 | 22 | #复制配置文件 23 | COPY conf_tmp.yml conf.yml 24 | COPY entrypoint.sh entrypoint.sh 25 | #修改权限 26 | RUN chmod +x entrypoint.sh && chmod +x alist && chmod +x conf.yml 27 | 28 | #监听端口 29 | EXPOSE 5244 30 | 31 | ENTRYPOINT ["./entrypoint.sh"] 32 | -------------------------------------------------------------------------------- /Dockerfile1: -------------------------------------------------------------------------------- 1 | FROM debian:latest 2 | #此镜像优化了体积 3 | #配置架构变量(386、amd64、arm、arm64) 4 | ARG CPU=arm64 5 | #后端版本号 6 | ARG VERSION=1.0.3 7 | #前端版本号 8 | ARG QVERSION=1.0.3 9 | #复制配置文件 10 | COPY conf_tmp.yml conf.yml 11 | COPY entrypoint.sh entrypoint.sh 12 | #更新,安装wget 13 | RUN apt-get update && apt-get install wget -y &&\ 14 | #下载项目后端文件 15 | wget https://github.com/Xhofe/alist/releases/download/v${VERSION}/alist_v${VERSION}_linux_${CPU}.tar.gz &&\ 16 | tar -zvxf alist_v${VERSION}_linux_${CPU}.tar.gz &&\ 17 | cp linux_${CPU}/alist alist &&\ 18 | 19 | #下载前端并解压文件 20 | wget https://github.com/Xhofe/alist-web/releases/download/v${QVERSION}/refs.tags.v${QVERSION}.tar.gz &&\ 21 | tar -zvxf refs.tags.v${QVERSION}.tar.gz &&\ 22 | #修改权限 23 | chmod +x entrypoint.sh && chmod +x alist && chmod +x conf.yml 24 | 25 | #监听端口 26 | EXPOSE 5244 27 | 28 | ENTRYPOINT ["./entrypoint.sh"] 29 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | 更新到1.0.4 2 | 3 | -------------------------------------------------------------------------------------------------- 4 | 5 | 6 | # alist_docker 7 | 自用的alist docker部署文件 8 | 9 | 部署方法(下面操作基于linux环境,先自行安装git clone,Debian 命令为: apt-get install git clone -y) 10 | 11 | -------------------------------------------------------------------------------------------------- 12 | 1.克隆本项目到本地 13 | 14 | 命令:git clone 本项目 15 | 16 | 例子:git clone https://github.com/hbestm/alist_docker.git 17 | 18 | -------------------------------------------------------------------------------------------------- 19 | 2.可以修改conf_tmp.yml,改为你自己的内容 20 | 21 | -------------------------------------------------------------------------------------------------- 22 | 3.构建docker 23 | 24 | 命令: 25 | 26 | cd alist_docker 27 | 28 | docker build -t 你要构建的镜像名字 -f Dockerfile . 29 | 30 | 例子:docker build -t alist -f Dockerfile . 31 | 32 | (注意:不要忘记命令末尾的那个.) 33 | -------------------------------------------------------------------------------------------------- 34 | 4.运行容器: 35 | 36 | 命令:docker run -d -p主机端口:容器端口 --name 容器名字 镜像名字 refresh_token 默认目录 37 | 38 | 例子:docker run -d -p5244:5244 --name alist alist 82a5cxxxxxxxdbbeb8e79e8cb95b70 root 39 | 40 | -------------------------------------------------------------------------------------------------- 41 | 5.打开浏览器,输入IP:5244 42 | 43 | -------------------------------------------------------------------------------------------------- 44 | 45 | 6.点击页面底部的rebuild 46 | 47 | -------------------------------------------------------------------------------------------------- 48 | 49 | 7.大功告成 50 | 51 | -------------------------------------------------------------------------------------------------- 52 | 53 | 后期更新可以2种方法,1,是通过docker exec -it alist bash 进到容器里面更新 2.重构容器,自行修改Dockerfile里面的相应参数,参数都有详细说明,此操作最好FORK一份,或者修改本地文件。 54 | 55 | 56 | 57 | 特别提醒: 58 | 59 | 本项目源自 60 | 61 | 1. https://github.com/Xhofe/alist 62 | 63 | 2. https://github.com/Xhofe/alist-web 64 | 65 | 3. https://github.com/malaohu/alist-oneclick-deploy 66 | -------------------------------------------------------------------------------- /conf_tmp.yml: -------------------------------------------------------------------------------- 1 | info: 2 | title: 我的云盘 #标题 3 | logo: "" #网站logo 如果填写,则会替换掉默认的 4 | footer_text: Xhofe's Blog #网页底部文字 5 | footer_url: https://www.nn.ci #网页底部文字链接 6 | music_img: https://img.xhofe.top/2020/12/19/0f8b57866bdb5.gif #预览音乐文件时的图片 7 | check_update: true #前端是否显示更新 8 | script: #自定义脚本,可以是脚本的链接,也可以直接是脚本内容 9 | autoplay: true #视频是否自动播放 10 | preview: 11 | text: [txt,htm,html,xml,java,properties,sql,js,md,json,conf,ini,vue,php,py,bat,gitignore,yml,go,sh,c,cpp,h,hpp] #要预览的文本文件的后缀,可以自行添加 12 | server: 13 | port: "5244" 14 | search: true 15 | static: dist 16 | site_url: '*' 17 | password: password #用于重建目录 18 | ali_drive: 19 | api_url: https://api.aliyundrive.com/v2 20 | max_files_count: 3000 21 | drives: 22 | - refresh_token: [refresh_token] 23 | root_folder: [root] 24 | name: drive1 25 | password: pass 26 | hide: false 27 | database: 28 | type: sqlite3 29 | dBFile: alist.db 30 | -------------------------------------------------------------------------------- /entrypoint.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | TOKEN=$1 4 | _FOLDER=$2 5 | FOLDER=${_FOLDER:-root} 6 | sed -i 's/\[root\]/'$FOLDER'/g' ./conf.yml 7 | sed -i 's/\[refresh_token\]/'$TOKEN'/g' ./conf.yml 8 | ./alist 9 | --------------------------------------------------------------------------------