Cài đặt Alist trên Docker

Ý tưởng ban đầu của mình về bài này là cấu hình Alist SSL tự động qua Caddy, không sử dụng Cloudflare proxy để tránh giới hạn upload file 100MB khi upload thẳng lên Alist

Sau 1 thời gian sử dụng, mình thấy nhu cầu cần upload thẳng lên Alist không nhiều, đa phần mình cũng chỉ upload các file 1-5MB, cần upload gì vào thẳng tài khoản Google Drive, OneDrive upload còn nhanh hơn 😛

Quan trọng, ông nào dùng Alist thì cũng share các thứ không có bản quyền cả, để lộ trần IP VPS khá là rủi ro (dù thực tế trên VPS không chứa bất cứ cái gì)

Nên cuối cùng, chốt lại, hiệu quả, an toàn nhất, vẫn là cấu hình Alist chạy trên Docker, sử dụng Cloudflare Tunnels làm proxy

Các cấu hình cài đặt bên dưới dựa trên VPS Oracle VM.Standard.E2.1.Micro, OS Ubuntu 22.04

Cài đặt VPS

sudo apt update && sudo apt upgrade -y

locale-gen en_US.UTF-8
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8

sudo apt remove iptables-persistent -y
sudo ufw disable
sudo iptables -F

timedatectl set-timezone Asia/Ho_Chi_Minh
sudo fallocate -l 4G /swapfile && sudo chmod 600 /swapfile && sudo mkswap /swapfile && sudo swapon /swapfile && echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab

curl -sSL https://get.docker.com | sh
sudo usermod -aG docker $(whoami)
sudo systemctl start docker
sudo systemctl enable docker
apt install docker-compose -y

sudo wget --no-check-certificate https://raw.githubusercontent.com/bibicadotnet/NeverIdle-Oracle/master/VM.Standard.E2.1.Micro.sh -O /usr/local/bin/bypass_oracle.sh
chmod +x /usr/local/bin/bypass_oracle.sh
nohup /usr/local/bin/bypass_oracle.sh >> ./out 2>&1 <&- &
crontab -l > bypass_oracle
echo "@reboot nohup /usr/local/bin/bypass_oracle.sh >> ./out 2>&1 <&- &" >> bypass_oracle
crontab bypass_oracle

Các bước bao gồm cập nhập Ubuntu, tắt firewall, tạo 4G RAM ảo, cài đặt docker, docker-compose và bypass Oracle

Nếu bạn dùng VPS hãng khác, đã cài docker, docker-compose thì không cần làm bước trên 

Cài đặt Alist Docker

  • Nên cài đặt Alist vào 1 thư mục con, để sau này backup, restore cho tiện
mkdir alist
cd alist
nano docker-compose.yaml
  • Nội dung bên trong điền vào
version: '3.3'
services:
    alist:
        restart: always
        volumes:
            - './data:/opt/alist/data'
        ports:
            - '5244:5244'
        environment:
            - PUID=0
            - PGID=0
            - UMASK=022
        container_name: alist
        image: 'xhofe/alist:latest'
  • Ctrl+O -> Enter -> Ctrl+X để save và exit.

Tiếp theo chạy lệnh bên dưới để hoàn thành cài đặt

docker-compose up -d --build --remove-orphans --force-recreate

Cấu hình mình đang để ở trên mặc định sẽ dùng phiên bản Alist ổn định mới nhất ‘xhofe/alist:latest‘ (đoạn code dòng 14) , trong trường hợp bạn muốn dùng 1 phiên bản cụ thể nào đó, thì chỉ cần sửa latest sang mã khác

Ví dụ ‘xhofe/alist:v3.26.0‘ hoặc ‘xhofe/alist:main

Phiên bản latest mới nhất ở thời điểm mình viết lại bài này là v3.29.1, không rõ ngon hơn bản cũ không, bản mình dùng nhiều tháng nay là v3.26.0, chạy rất ổn định

  • Để lấy password admin, chạy lệnh bên dưới
docker exec -it alist ./alist admin random
INFO[2023-08-12 20:37:19] admin user has been updated:
INFO[2023-08-12 20:37:19] username: admin
INFO[2023-08-12 20:37:19] password: Ij0bAUPI
  • Cloudflare Zero Trust ->Access -> Tunnel -> Create a tunnel -> đặt 1 tên cho dễ nhớ (FILE.BIBICA.NET) -> Install and run a connector
  • Sau đó tạo Public hostnames file.bibica.net tới localhost:5244

Lúc này bạn có thể truy cập vào file.bibica.net với tài khoản username: admin, password: Ij0bAUPI

Việc cấu hình storage thì bạn có thể tham khảo thêm tại bài viết gốc 😀

Backup và Restore

Cấu hình docker bên trên đã tự đưa data Alist vào bên trong thư mục alist

Backup hàng ngày, chỉ cần copy nguyên cái thư mục alist về là xong

Muốn chuyển sang server mới thì upload thư mục alist lên rồi chạy lại docker và Cloudflare Tunnels là xong, rất tiện

Comment policy: We love comments and appreciate the time that readers spend to share ideas and give feedback.
Notes: However, those deemed to be spam or solely promotional will be deleted.

You can create a Gravatar account, add avatar, then use that email to comment here, your account will have a more beautiful Avatar, easier to recognize with other members.

Please use real emails, you can receive notifications when comments are replied