侧边栏壁纸
博主头像
高压锅里的小白 博主等级

行动起来,活在当下

  • 累计撰写 65 篇文章
  • 累计创建 26 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Docker部署AList

高压锅里的小白
2024-07-13 / 0 评论 / 0 点赞 / 31 阅读 / 0 字
温馨提示:
本文最后更新于2024-08-04,若内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

项目简介

​ ​ AList是一个支持多种存储,支持网页浏览和 WebDAV 的文件列表程序,由 gin 和 Solidjs 驱动。

安装环境

工具 版本
系统 CentOS 7
Docker 25.0.4
Docker-Compose 2.24.7
AList v3.35.0

安装步骤

安装Docker

具体安装步骤见:Docker安装教程

安装docker-compose

具体安装步骤见:Docker-Compose安装教程

安装AList

新建目录

mkdir -p /你的路径/alist/data

编写docker-compose.yml文件

在alist目录下新建docker-compose.yml文件,并填写以下内容

version: '3.3'
services:
    alist:
        image: 'xhofe/alist:v3.35.0'
        container_name: alist
        volumes:
            - '$PWD/data:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
            - TZ=Asia/Shanghai
        restart: unless-stopped

服务运行之后,容器默认的时区为UTC时区,如果你想指定容器运行的时区,则可以通过传递此变量来实现:-e "TZ=Asia/Shanghai"

启动容器

在docker-compose.yml文件所在目录下执行

docker-compose up -d

实时查看日志:

docker-compose logs -f

至此Alist就安装好了。

反向代理(非必须)

我们这里使用Nginx

server {
    listen       443 ssl;
    listen       [::]:443 ssl;
    server_name  xxx.xxx.com;
    charset utf-8;
    access_log off;

    ssl_certificate      /home/cert/fullchain.cer;
    ssl_certificate_key  /home/cert/xxx.com.key;
    ssl_session_cache    shared:SSL:1m;
    ssl_session_timeout  5m;
    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
    ssl_ciphers ECDHE-RSA-AES128-GCM-SHA256:HIGH:!aNULL:!MD5:!RC4:!DHE;
    ssl_prefer_server_ciphers on;

    client_max_body_size 1024m;
  
    location / {
    	proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Host $http_host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header Range $http_range;
	    proxy_set_header If-Range $http_if_range;
        proxy_redirect off;
        proxy_pass http://127.0.0.1:5244;
        # the max size of file to upload
        client_max_body_size 20000m;
    }
}

server {
    listen 80;
    listen [::]:80;
    server_name xxx.xxx.com;
 
    # 核心代码
    rewrite ^(.*)$ https://${server_name}$1 permanent;
}

如果需要使用HTTP/3,需要将对应 HOST行修改为:

proxy_set_header Host $host:$server_port;

这样修改后的配置同时也可以兼容HTTP/2及更低版本的请求。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区