Open Source

AList: Open-Source File List Program Supporting Multiple Storage Backends

AList is an open-source file list and WebDAV program supporting multiple storage backends including cloud drives, FTP, S3, and local storage with a modern web UI.

AList: Open-Source File List Program Supporting Multiple Storage Backends

If you manage files across multiple cloud drives, FTP servers, and S3 buckets, you know the pain of toggling between interfaces, remembering different URLs, and reconciling inconsistent permission models. AList solves this with a straightforward proposition: one web interface to rule them all.

Written in Go (Gin backend) with a modern Solidjs frontend, AList has grown into one of the most popular self-hosted file management platforms, amassing over 48,000 GitHub stars. It provides a unified file listing and management experience across virtually any storage backend, served through a clean, responsive web UI with full WebDAV support.

The project was born from a practical need: the developers managed files across multiple cloud storage providers and wanted a single pane of glass. What started as a simple file list has evolved into a full-featured platform supporting offline downloads, cross-storage file copying, multi-threaded streaming, and rich media preview – all while maintaining a lightweight footprint that runs on modest hardware.


What Storage Backends Does AList Support?

AList’s driver-based architecture supports an extensive and growing list of storage backends. The system is designed to be extensible, with the community contributing drivers for new providers regularly.

Storage CategorySupported BackendsAccess Protocol
LocalLocal file system, mounted volumesDirect file I/O
Cloud DrivesBaidu Netdisk, 115 Cloud, Alibaba Cloud Drive, Google Drive, OneDriveOAuth / API keys
Object StorageS3, MinIO, Cloudflare R2, Backblaze B2S3-compatible API
Protocol-basedFTP, SFTP, WebDAV, SMB/CIFSStandard protocols
SpecializedMediaFire, 189 Cloud, TeraBox, Yandex DiskProvider APIs

Each driver implements a standard interface, meaning new backends can be added without modifying core AList code. The cross-storage file copy feature is particularly powerful – it allows copying files directly between different backends (e.g., from Google Drive to S3) without downloading and re-uploading through your local machine.


How Does the AList Architecture Work?

AList’s architecture separates the backend (Go/Gin API server) from the frontend (Solidjs SPA), communicating through a RESTful API. The backend handles authentication, storage driver management, file operations, and media transcoding, while the frontend provides the user interface.

graph TD
    A[Browser / WebDAV Client] --> B[AList Web Server\nGin Framework]
    B --> C[Authentication Layer]
    C --> D[Storage Driver Manager]
    D --> E[Driver: Local FS]
    D --> F[Driver: Baidu Netdisk]
    D --> G[Driver: S3]
    D --> H[Driver: FTP/SFTP]
    D --> I[Driver: WebDAV Remote]
    E --> J[Physical Storage]
    F --> K[Baidu API]
    G --> L[S3 API]
    H --> M[FTP Server]
    I --> N[Remote WebDAV]
    B --> O[WebDAV Protocol\nEndpoint]
    O --> D

This architecture makes AList both a web file manager and a WebDAV server simultaneously. You can mount AList as a WebDAV drive in Windows Explorer, macOS Finder, or Linux file managers, giving you native OS-level access to all your connected storage backends.


How Do You Deploy AList?

AList offers multiple deployment paths to suit different environments, all documented on the project’s official site.

MethodCommand / StepsUse Case
Dockerdocker run -d -p 5244:5244 xhofe/alist:latestQuick, isolated deployment
BinaryDownload prebuilt binary for your OSNo Docker dependency
Sourcegit clone && go buildCustom builds
DesktopPrebuilt desktop app installersPersonal use without terminal

The default port is 5244, and the initial admin password is generated on first startup and printed to the logs. AList supports HTTPS, custom domain configuration, and database backends (SQLite by default, with MySQL and PostgreSQL as alternatives for production deployments).


What File Previews and Features Does AList Offer?

Beyond basic file listing, AList provides a rich set of features that make it suitable for both personal media servers and enterprise document management.

FeatureDetails
Media streamingVideo and audio with subtitle/lyric support
Document previewPDF, Office formats, Markdown, code
Image galleryGrid/browser view with thumbnails
Offline downloadDownload files directly to connected storage
Package downloadDownload directories as ZIP archives
File permalinkDirect download links for sharing
Dark modeBuilt-in dark theme
i18nMulti-language interface

AList also includes user management with role-based access control, allowing administrators to grant read-only access to certain paths while preserving write access for others. The platform supports password protection for directories, rate limiting, and download proxy configuration for secure file distribution.


FAQ

What is AList? AList is an open-source file list and WebDAV program written in Go that aggregates multiple storage backends into a single, unified web interface. It supports cloud drives (Baidu Netdisk, Alibaba Cloud, 115 Cloud), standard protocols (FTP, S3, WebDAV), and local file systems, providing a consistent file management experience across all connected storage sources.

What storage backends does AList support? AList supports an extensive range of storage backends including local storage, cloud drives (Baidu Netdisk, 115 Cloud, Alibaba Cloud Drive, Google Drive, OneDrive), object storage (S3, MinIO), protocol-based storage (FTP, SFTP, WebDAV, SMB), and many community-contributed drivers via its extensible driver system.

How do I deploy AList? AList supports multiple deployment methods. The recommended approach is Docker: docker run -d -p 5244:5244 xhofe/alist:latest. It can also be deployed via prebuilt binaries for Linux, Windows, and macOS, or built from source with Go. Desktop releases are also available for convenience.

What file preview features does AList offer? AList provides rich file preview capabilities including PDF rendering, Markdown rendering, code syntax highlighting, image gallery view, video and audio playback with subtitle support, Office document preview (DOCX, PPTX, XLSX), and README.md rendering for directory descriptions.

What license does AList use? AList is released under the AGPL-3.0 license, which ensures the software remains free and open source. The AGPL license requires that any modified version of the software deployed over a network must make its source code available to users.


Further Reading

TAG
CATEGORIES