2k1
  • Home
  • Programming
  • System
  • Design
  • Applications
  • Tech
No Result
View All Result
  • Login
2k1
  • Home
  • Programming
  • System
  • Design
  • Applications
  • Tech
No Result
View All Result
2k1
No Result
View All Result

Triển Khai AList Bằng Docker: Quản Lý Đa Dạng Lưu Trữ Đám Mây Dễ Dàng

Nguyen Pham by Nguyen Pham
10/10/2025
in Blog
Reading Time: 11 mins read
A A
0

Bạn có đang “ngụp lặn” trong vô số dịch vụ lưu trữ đám mây như Google Drive, OneDrive, Dropbox, S3, hay thậm chí là các NAS cá nhân? Việc chuyển đổi qua lại giữa các nền tảng để tìm kiếm hoặc chia sẻ file có thể là một cơn ác mộng. Đó chính là lúc AList tỏa sáng!

AList là một ứng dụng quản lý file mạnh mẽ, cho phép bạn tổng hợp và truy cập tất cả các dịch vụ lưu trữ đám mây và cục bộ của mình từ một giao diện web duy nhất. Nó không chỉ hiển thị danh sách file mà còn hỗ trợ phát trực tuyến video, xem trước ảnh, tài liệu và nhiều hơn nữa. Và cách tốt nhất để triển khai AList một cách linh hoạt, ổn định và dễ dàng mở rộng chính là sử dụng Docker.

Trong bài viết này, chúng ta sẽ cùng nhau đi từng bước để triển khai AList bằng Docker, biến nó thành trung tâm quản lý file cá nhân của bạn.

AList Là Gì và Tại Sao Nên Dùng Docker?

AList: Cầu Nối Đa Nền Tảng Lưu Trữ

AList là một ứng dụng mã nguồn mở, cho phép bạn mount nhiều dịch vụ lưu trữ khác nhau (hơn 100 loại, bao gồm cả WebDAV, FTP, SFTP, các dịch vụ đám mây lớn, và cả lưu trữ cục bộ) thành một hệ thống file ảo duy nhất. Với AList, bạn có thể:

  • Truy cập tất cả file của mình từ một URL duy nhất.
  • Phát trực tuyến video/audio trực tiếp từ đám mây mà không cần tải về.
  • Xem trước hình ảnh, PDF, Markdown…
  • Chia sẻ file hoặc thư mục với các tùy chọn bảo mật.
  • Quản lý file thông qua giao diện web thân thiện hoặc API.

Sức Mạnh Của Docker Trong Triển Khai AList

Docker là một nền tảng ảo hóa cấp hệ điều hành, cho phép bạn đóng gói ứng dụng và tất cả các phụ thuộc của nó vào một “container” độc lập. Việc sử dụng Docker để triển khai AList mang lại nhiều lợi ích vượt trội:

  • Tính Di Động: Container AList có thể chạy trên bất kỳ hệ thống nào có Docker, từ máy tính cá nhân đến máy chủ đám mây, mà không cần lo lắng về môi trường.
  • Tính Cô Lập: AList chạy trong môi trường riêng của nó, không ảnh hưởng đến các ứng dụng khác trên hệ thống của bạn và ngược lại.
  • Dễ Dàng Quản Lý: Khởi động, dừng, xóa, cập nhật AList chỉ bằng vài lệnh Docker đơn giản.
  • Triển Khai Nhanh Chóng: Chỉ cần một vài dòng lệnh hoặc file cấu hình, AList đã sẵn sàng hoạt động.
  • Tái Tạo Môi Trường: Dễ dàng sao chép môi trường AList sang máy chủ khác hoặc khôi phục từ bản sao lưu.

Chuẩn Bị Trước Khi Bắt Đầu

Để theo dõi hướng dẫn này, bạn cần có:

  1. Một máy chủ hoặc máy tính cá nhân: Chạy Linux (Ubuntu, CentOS…), Windows (có WSL2), hoặc macOS.
  2. Docker đã được cài đặt: Đảm bảo Docker Engine và Docker Compose (nếu bạn muốn dùng docker-compose) đã được cài đặt và hoạt động.
    • Bạn có thể tham khảo hướng dẫn cài đặt Docker tại docs.docker.com.

Sau khi cài đặt, hãy kiểm tra phiên bản Docker:

docker --version
docker compose version # hoặc docker-compose --version nếu dùng phiên bản cũ

Triển Khai AList Bằng Docker

Chúng ta sẽ có hai phương pháp chính: sử dụng lệnh docker run trực tiếp hoặc sử dụng docker compose để quản lý dễ dàng hơn.

Phương Pháp 1: Triển Khai Nhanh Bằng Lệnh docker run

Đây là cách nhanh nhất để khởi động AList cho mục đích thử nghiệm hoặc triển khai đơn giản.

1. Lấy Image Docker của AList

docker pull xhofe/alist:latest

2. Chạy Container AList

Để AList hoạt động ổn định và dữ liệu không bị mất khi container được xóa, chúng ta cần map một volume (thư mục trên máy chủ) vào container. Ngoài ra, chúng ta cũng cần map port để truy cập giao diện web của AList.

docker run -d \
  --name alist \
  -p 5244:5244 \
  -v /opt/alist/data:/opt/alist/data \
  --restart always \
  xhofe/alist:latest

Giải thích các tham số:

  • -d: Chạy container ở chế độ nền (detached mode).
  • --name alist: Đặt tên cho container là alist để dễ dàng quản lý.
  • -p 5244:5244: Map port 5244 của máy chủ (host) vào port 5244 của container. AList mặc định chạy trên port 5244. Bạn có thể thay đổi port 5244 đầu tiên thành port khác nếu muốn (ví dụ: -p 80:5244).
  • -v /opt/alist/data:/opt/alist/data: Map thư mục /opt/alist/data trên máy chủ vào thư mục /opt/alist/data bên trong container. Đây là nơi AList lưu trữ cấu hình, cơ sở dữ liệu và các file liên quan. Hãy đảm bảo thư mục /opt/alist/data trên máy chủ của bạn tồn tại và có quyền ghi.
  • --restart always: Container sẽ tự động khởi động lại nếu nó bị dừng hoặc khi máy chủ khởi động lại.
  • xhofe/alist:latest: Tên image Docker và tag (phiên bản) chúng ta muốn sử dụng.

Sau khi chạy lệnh, Docker sẽ tạo và khởi động container AList.

Phương Pháp 2: Triển Khai Chuyên Nghiệp Bằng docker compose (Khuyến Nghị)

Sử dụng docker compose giúp quản lý các dịch vụ Docker phức tạp hơn một cách dễ dàng thông qua một file cấu hình duy nhất (docker-compose.yml). Điều này đặc biệt hữu ích khi bạn có nhiều container hoặc muốn cấu hình chi tiết hơn.

1. Tạo Thư Mục Cấu Hình

Tạo một thư mục riêng cho AList và di chuyển vào đó:

mkdir -p /opt/alist
cd /opt/alist

2. Tạo File docker-compose.yml

Trong thư mục /opt/alist, tạo một file tên là docker-compose.yml với nội dung sau:

version: '3.8'

services:
  alist:
    image: xhofe/alist:latest
    container_name: alist
    restart: always
    ports:
      - "5244:5244"
    volumes:
      - ./data:/opt/alist/data
    environment:
      # Nếu bạn muốn đặt mật khẩu admin ban đầu, có thể thêm biến môi trường sau:
      # - PUID=1000
      # - PGID=1000
      # - UMASK=022
      # - TZ=Asia/Ho_Chi_Minh # Đặt múi giờ của bạn

Giải thích file docker-compose.yml:

  • version: '3.8': Chỉ định phiên bản của Docker Compose file.
  • services:: Định nghĩa các dịch vụ (container) mà bạn muốn chạy.
    • alist:: Tên dịch vụ của chúng ta.
      • image: xhofe/alist:latest: Sử dụng image Docker của AList phiên bản latest.
      • container_name: alist: Đặt tên cho container là alist.
      • restart: always: Tương tự như --restart always ở trên.
      • ports:: Map cổng. - "5244:5244" có nghĩa là port 5244 của host map vào port 5244 của container.
      • volumes:: Map volume. - ./data:/opt/alist/data có nghĩa là thư mục data trong cùng thư mục với file docker-compose.yml sẽ được map vào /opt/alist/data trong container. Điều này giúp dữ liệu AList được lưu trữ bền vững.
      • environment:: Các biến môi trường tùy chọn. Bạn có thể uncomment và chỉnh sửa các dòng này nếu cần đặt PUID, PGID, UMASK, hoặc múi giờ.

3. Khởi Động AList

Trong thư mục chứa file docker-compose.yml (/opt/alist), chạy lệnh sau để khởi động AList:

docker compose up -d
  • up: Khởi tạo và khởi động các dịch vụ được định nghĩa trong docker-compose.yml.
  • -d: Chạy các dịch vụ ở chế độ nền (detached mode).

Nếu mọi thứ thành công, Docker Compose sẽ kéo image (nếu chưa có) và khởi động container AList.

Các lệnh Docker Compose hữu ích khác:

  • Dừng dịch vụ:
    bash
    docker compose stop
  • Dừng và xóa container, network, volume:
    bash
    docker compose down
  • Xem log của AList:
    bash
    docker compose logs -f alist

Cấu Hình AList Lần Đầu

Sau khi AList container đã chạy, bạn cần lấy mật khẩu quản trị ban đầu để đăng nhập và cấu hình.

1. Lấy Mật Khẩu Admin Ban Đầu

AList sẽ tạo một mật khẩu admin ngẫu nhiên khi khởi động lần đầu. Để lấy mật khẩu này, bạn cần xem log của container:

docker logs alist 2>&1 | grep "password"

Hoặc nếu dùng Docker Compose:

docker compose logs alist 2>&1 | grep "password"

Bạn sẽ thấy một dòng tương tự như: admin password: your_random_password. Hãy sao chép mật khẩu này.

2. Truy Cập Giao Diện Web

Mở trình duyệt web và truy cập vào địa chỉ: http://<IP_MAY_CHU>:5244 (thay <IP_MAY_CHU> bằng địa chỉ IP của máy chủ hoặc localhost nếu bạn đang chạy trên máy cục bộ).

Bạn sẽ thấy giao diện đăng nhập của AList. Nhập admin làm tên người dùng và mật khẩu bạn vừa lấy được.

3. Thay Đổi Mật Khẩu Admin

Sau khi đăng nhập, điều đầu tiên bạn nên làm là thay đổi mật khẩu mặc định:

  1. Click vào biểu tượng Admin ở góc trên bên phải.
  2. Chọn Tài khoản (Account).
  3. Tìm mục Đổi mật khẩu (Change password), nhập mật khẩu cũ và đặt mật khẩu mới của bạn.
  4. Lưu lại thay đổi.

4. Thêm Lưu Trữ Đám Mây

Bây giờ bạn có thể bắt đầu thêm các dịch vụ lưu trữ của mình:

  1. Trong giao diện Admin, chọn Lưu trữ (Storage).
  2. Click vào Thêm (Add).
  3. Chọn loại lưu trữ bạn muốn thêm (ví dụ: Google Drive, OneDrive, WebDAV…).
  4. Điền các thông tin cần thiết như tên hiển thị, đường dẫn mount, Client ID, Client Secret, Refresh Token (nếu có). Hướng dẫn chi tiết cho từng loại lưu trữ có thể tìm thấy trên trang chủ của AList.
  5. Lưu lại.

Sau khi thêm, các file từ dịch vụ lưu trữ đó sẽ hiển thị trên giao diện chính của AList.

Nâng Cao: Reverse Proxy và HTTPS

Để truy cập AList qua tên miền riêng và bảo mật bằng HTTPS, bạn nên đặt AList phía sau một reverse proxy như Nginx hoặc Caddy.

Ví dụ cấu hình Nginx (server block):

server {
    listen 80;
    server_name yourdomain.com; # Thay bằng tên miền của bạn

    location / {
        proxy_pass http://localhost:5244; # Hoặc IP của máy chủ AList
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

Sau đó, bạn có thể sử dụng Certbot để cấp chứng chỉ SSL miễn phí từ Let’s Encrypt cho tên miền của mình.

Cập Nhật AList

Để cập nhật AList lên phiên bản mới nhất, bạn chỉ cần thực hiện các bước sau:

Nếu dùng docker run:

docker stop alist
docker rm alist
docker pull xhofe/alist:latest
# Chạy lại lệnh docker run ban đầu của bạn

Nếu dùng docker compose:

cd /opt/alist # Di chuyển vào thư mục chứa docker-compose.yml
docker compose pull
docker compose up -d

Các bước này sẽ kéo phiên bản image mới nhất và khởi động lại container, giữ nguyên dữ liệu của bạn nhờ vào việc map volume.

Kết Luận

Với Docker, việc triển khai AList trở nên vô cùng đơn giản và hiệu quả. Giờ đây, bạn đã có một “trung tâm điều khiển” cá nhân để quản lý tất cả các file của mình từ mọi nguồn lưu trữ, dù là trên đám mây hay cục bộ. Từ việc xem phim trực tuyến đến chia sẻ tài liệu, AList mang lại trải nghiệm liền mạch và mạnh mẽ.

Hãy bắt đầu khám phá và tận hưởng sự tiện lợi mà AList mang lại. Nếu có bất kỳ câu hỏi hoặc gặp khó khăn nào trong quá trình triển khai, đừng ngần ngại để lại bình luận bên dưới nhé! Chúc bạn thành công!

Previous Post

SMB là gì? Hướng Dẫn Chi Tiết Tạo Server Chia Sẻ File Với Samba

Related Posts

SMB là gì? Hướng Dẫn Chi Tiết Tạo Server Chia Sẻ File Với Samba
Blog

SMB là gì? Hướng Dẫn Chi Tiết Tạo Server Chia Sẻ File Với Samba

by Nguyen Pham
06/10/2025
Kubernetes (K8s) là gì? Khám phá sức mạnh của nền tảng điều phối container
Blog

Kubernetes (K8s) là gì? Khám phá sức mạnh của nền tảng điều phối container

by Nguyen Pham
06/10/2025
Biểu đồ nến: Chìa khóa vàng để “Đọc Vị” Thị trường
Blog

Biểu đồ nến: Chìa khóa vàng để “Đọc Vị” Thị trường

by Nguyen Pham
06/10/2025
Blog

Tailscale: Cách Mạng Hóa Kết Nối Mạng Từ Xa Với VPN Zero-Config Dựa Trên WireGuard

by Nguyen Pham
28/09/2025
Blog

10 Lệnh Linux Phổ Biến Nhất Mà Mọi Người Dùng Nên Biết

by Nguyen Pham
27/09/2025
Blog

Blockchain và Ethereum: Nền Tảng Của Tương Lai Phi Tập Trung

by Nguyen Pham
27/09/2025
Load More
Please login to join discussion

@2021 2k1.org [email protected]

No Result
View All Result
  • Home
  • Review
  • Applications
  • Computers
  • Gaming
  • Microsoft

© 2021 NData

Welcome Back!

Login to your account below

Forgotten Password?

Retrieve your password

Please enter your username or email address to reset your password.

Log In