@TOC
docker-compose 部署alist
- 环境和依赖
- docker
- 云存储(例:nextcloud)
- docker-compose配置流程
官方参考链接: link-
创建alist容器外映射目录
mkdir ~/disk/alist && cd ~/disk/alist
-
创建
docker-compose.yml
文件vim ~/disk/alist/docker-compose.yml
yml文件写入以下内容
version: '3.3' services: alist: image: 'xhofe/alist:latest' container_name: alist #./alist是映射到本机的存储路径,可以修改 volumes: - './alist:/opt/alist/data' ports: - '5244:5244' environment: #PUID和PGID分别是docker运行alist所使用的用户的id和组id # umask是用户文件创建时的默认权限掩码 - PUID=0 - PGID=0 - UMASK=022 restart: unless-stopped
-
创建alist容器并且后台启动
docker-compose up -d
-
手动设置alist用户和密码
# `NEW_PASSWORD`是指你需要设置的密码 docker exec -it alist ./alist admin set NEW_PASSWORD
-
- 配置alist云存储
- alist后台管理地址
localhost:5244
登录后台管理界面并添加存储 - 完成添加后如下
拓展
为个人博客站部署alist云存储
- 依赖
- nginx
- 个人博客站点
- alist
- 个人域名
- 路由器设置端口准发
- 将部署alist的内部服务器端口转发到外部端口
8070:8070
- 配置nginx反向代理服务器
- 在 /etc/nginx/sites-available/ 目录中创建一个新的配置文件
alist.conf
sudo vim /etc/nginx/sites-available/alist.conf
- 填写
alist.conf
配置信息
server {
listen 8070;
server_name zhangzhewang.ddns.net; # 主域名
client_max_body_size 1024M; #nginx 默认上传文件大小一般是2M,修改传输文件大小上限
location / {
proxy_pass http://***.***.**.***:5244; # halo 的局域网 IP 地址和端口
#proxy_set_header Host $host; #当监听80端口时可以省略请求头端口号$server_port
proxy_set_header Host $host:$server_port;#非80端口时不能省略,不然向服务器发送请求,无法重定向到正确URL,导致404
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}
- 启用配置文件
sudo ln -s /etc/nginx/sites-available/alist.conf /etc/nginx/sites-enabled/
-重启nginx,查看nginx是否正常监听 8070
端口
#检查 Nginx 配置是否有语法错误:
sudo nginx -t
#重新加载 Nginx 以应用新的配置
sudo systemctl reload nginx
#查看nginx监听端口
sudo netstat -tulnp | grep nginx
- 配置域名解析,实现域名访问
- 博客站下载alist插件(我是基于halo框架),并配置相关参数
- 配置后上传文件测试