Homelab - File Listing Program Alist with Multi-Storage Support

Alist is a file listing program that supports various storage options such as local storage, Alibaba Cloud Drive, OneDrive, Google Drive, Baidu NetDisk, Kuake NetDisk, Lanzou Cloud, S3, FTP/SFTP, and more. It comes with an online video player, supports various file previews (including Office, PDF, Markdown, and others), and offers offline download functionality.
Deployment (Docker Compose)
First, create a compose.yaml file and paste the following content:
version: "3.3"
services:
alist:
container_name: ${STACK_NAME}_app
image: "xhofe/alist:${APP_VERSION}"
volumes:
- ${STACK_DIR}:/opt/alist/data
ports:
- ${APP_PORT}:5244
environment: # It needs to run with root privileges; otherwise, it cannot access other Docker directories or the host machine's root directory
- PUID=0
- PGID=0
- UMASK=022
restart: always
(Optional) It is recommended to create a .env file in the same directory as compose.yaml and customize your environment variables. If you prefer not to use environment variables, you can directly customize your parameters in compose.yaml (e.g., replace ${STACK_NAME} with alist).
STACK_NAME=alist
STACK_DIR=xxx # Customize your project storage path, e.g., ./alist
# Alist
APP_VERSION=latest
APP_PORT=xxxx # Customize the access port, choose one that is not already in use
Finally, execute the docker compose up -d command in the same directory as compose.yaml to start the orchestrated containers.
Configuration Details
The methods for connecting to various cloud storage services are well-documented on the official website. Simply follow the configuration steps as outlined in the official documentation.
References and Acknowledgments
[1]
[2]
This post is translated using ChatGPT, please feedback if any omissions.