alist (deprecated)

alist + nginx webdav 구성

image

  graph LR
  A1[webdrives] -- mount --- B[alist]
  subgraph gvp6nx1a
  B <-- proxy --> C[nginx]
  end
  C <-- https --> D[rclone]

container 구성

docker-compose.yml

vi /opt/alist/docker-compose.yml
services:
  alist:
    image: xhofe/alist:v3.27.0 #보안 이슈로 롤백 https://singingdalong.blogspot.com/2025/06/Alist-project-issue-8649.html#gsc.tab=0
    container_name: alist
    networks:
      - dev
    ports:
      - 5244:5244/tcp
    user: 0:0
    environment:
      - PUID=1000
      - PGID=1000
      - UMASK=022
      - TZ=Asia/Seoul
    volumes:
      - /opt/alist/config:/opt/alist/data:rw
    restart: unless-stopped
networks:
  dev:
    external: true

config.json

로그 생성 차단

vi /opt/alist/config/config.json
...
  "temp_dir": "data/temp",
  "bleve_dir": "data/bleve",
  "log": {
    "enable": false,
    "name": "data/log/log.log",
    "max_size": 0,
    "max_backups": 0,
    "max_age": 7,
    "compress": false
  },
...

proxy 구성

vi /opt/nginx/config/conf.d/include/proxy.conf
proxy_http_version 1.1;

# Proxy SSL
proxy_ssl_server_name on;

# Proxy headers
proxy_set_header Host                 $host;
proxy_set_header Upgrade              $http_upgrade;
proxy_set_header Connection           $connection_upgrade;
proxy_set_header X-Real-IP            $remote_addr;
proxy_set_header Forwarded            $proxy_add_forwarded;
proxy_set_header X-Forwarded-For      $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto    $scheme;
proxy_set_header X-Forwarded-Protocol $scheme;
proxy_set_header X-Forwarded-Host     $host;
proxy_set_header X-Forwarded-Port     $server_port;
proxy_set_header Connection           "";

# Proxy timeouts
proxy_connect_timeout 180s;
proxy_send_timeout    180s;
proxy_read_timeout    180s;
...
vi /opt/nginx/config/sites-available/alist.conf
...
  include  /etc/nginx/conf.d/include/proxy.conf;
  location / {
    if ($allowed_country = no) {
      return 403;
    }
    proxy_pass http://alist:5244;
  }
  location /dav {
    if ($allowed_country = no) {
      return 403;
    }
    # webdav 공통
    proxy_buffering         off;
    proxy_request_buffering off;
    client_max_body_size    0;
    keepalive_timeout       180s;
    proxy_pass http://alist:5244/dav;
  }
...

Troubleshooting