Cài đặt Alist và Caddy trên Docker

Bài này này mình cài đặt Alist trên Oracle VM.Standard.E2.1.Micro chạy hệ điều hành Ubuntu 22.04, đi kèm webserver Caddy để custom domain và hỗ trợ ssl tự động

Không sử dụng Cloudflare DNS để tránh bị giới hạn file < 100MB khi upload bằng trình duyệt lên Alist

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

nano docker-compose.yml

Nội dung bên trong điền vào

version: '3.3'
networks:
  default:  
    name: 'proxy_network'
services:
  alist:
    container_name: alist
    image: 'xhofe/alist:latest'
    restart: unless-stopped
    volumes:  
      - '/etc/alist:/opt/alist/data'
    ports:
            - '5244:5244'
    environment:
            - PUID=0
            - PGID=0
            - UMASK=022
    labels:   
      caddy: file.bibica.net
      caddy.reverse_proxy: "* {{upstreams 5244}}"
  caddy:
    image: "lucaslorentz/caddy-docker-proxy:ci-alpine"
    ports:    
      - "80:80" 
      - "443:443"
    volumes:  
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - /srv/caddy/:/data
    restart: unless-stopped
    environment:
      - CADDY_INGRESS_NETWORKS=proxy_network

Ở dòng 19, đổi “file.bibica.net” sang domain bạn muốn dùng

Ctrl+O -> Enter -> Ctrl+X để save và exit.

2023-08-13_3-31-41

Trên DNS của Cloudflare, tạo records A theo cấu hình của bạn, chú ý tắt Proxy status (hình đám mây màu vàng)

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

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

Để 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

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 (dùng Caddy thì SSL luôn được tự cập nhập, ta không cần phải quan tâm thêm gì cho đỡ nhức đầu)

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 8) , 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.24.0‘ hoặc ‘xhofe/alist:main

Phiên bản latest mới nhất hiện tại ở thời điểm mình viết bài này là v3.26.0, đang chạy rất ổn định

Sau đó chạy lại

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

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 😀

Trong trường hợp bạn chỉ upload từ trình duyệt các file < 100 MB, và muốn trang bảo mật hơn (ẩn đi được IP thực) thì có thể bật Proxy status (hình đám mây màu vàng) bên trong DNS của Cloudflare, sau đó chạy lại dòng code bên dưới để Caddy cập nhập lại SSL là được

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

Related Posts

  1. Một số lệnh trên Linux
  2. Cài đặt Elasticsearch trên VPS Oracle Always Free
  3. Tạo bash script cài đặt cho bibica.net
  4. Caddy trên AlmaLinux 9 - Quá ảo
  5. Custom domain cho Jetpack Photon v3

4 thoughts on “Cài đặt Alist và Caddy trên Docker”

Leave a Comment