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 Category | Supported Backends | Access Protocol |
|---|---|---|
| Local | Local file system, mounted volumes | Direct file I/O |
| Cloud Drives | Baidu Netdisk, 115 Cloud, Alibaba Cloud Drive, Google Drive, OneDrive | OAuth / API keys |
| Object Storage | S3, MinIO, Cloudflare R2, Backblaze B2 | S3-compatible API |
| Protocol-based | FTP, SFTP, WebDAV, SMB/CIFS | Standard protocols |
| Specialized | MediaFire, 189 Cloud, TeraBox, Yandex Disk | Provider 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.
| Method | Command / Steps | Use Case |
|---|---|---|
| Docker | docker run -d -p 5244:5244 xhofe/alist:latest | Quick, isolated deployment |
| Binary | Download prebuilt binary for your OS | No Docker dependency |
| Source | git clone && go build | Custom builds |
| Desktop | Prebuilt desktop app installers | Personal 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.
| Feature | Details |
|---|---|
| Media streaming | Video and audio with subtitle/lyric support |
| Document preview | PDF, Office formats, Markdown, code |
| Image gallery | Grid/browser view with thumbnails |
| Offline download | Download files directly to connected storage |
| Package download | Download directories as ZIP archives |
| File permalink | Direct download links for sharing |
| Dark mode | Built-in dark theme |
| i18n | Multi-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
- AList GitHub Repository – Source code, drivers, and community contributions
- AList Official Documentation – Deployment guides, driver setup, and configuration reference
- AList Releases – Latest releases and changelogs
- AList Desktop Releases – Cross-platform desktop applications