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.
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
xác nhận bản v3.26.0, xịn :v
Ghê 😀
Sao không dùng npm mà dùng caddy vậy bạn 😡
ps/ Comment post hơi lâu nha
Không hiểu câu hỏi lắm 😀