# Alist — Self-Hosted Multi-Cloud File Listing Gateway > Alist is a self-hosted file listing program written in Go that provides a unified web interface for browsing and managing files across local storage and 30+ cloud providers including S3, Google Drive, OneDrive, and WebDAV. ## Install Save as a script file and run: # Alist — Self-Hosted Multi-Cloud File Listing Gateway ## Quick Use ```bash # One-line install script curl -fsSL "https://alist.nn.ci/v3.sh" | bash -s install # Or run with Docker docker run -d --restart=unless-stopped -v /etc/alist:/opt/alist/data -p 5244:5244 --name alist xhofe/alist:latest # Get initial admin password docker exec -it alist ./alist admin random ``` ## Introduction Alist solves a common pain point: managing files scattered across dozens of cloud storage services. Instead of logging into each provider separately, Alist aggregates them behind a single web UI with a consistent file-browser experience. It is written in Go with a Vue.js frontend. ## What Alist Does - Provides a unified file listing interface for 30+ storage backends including local disk, S3, Google Drive, OneDrive, Aliyun Drive, Baidu Netdisk, and WebDAV - Supports direct streaming and download of video, audio, and documents without transferring through the server - Offers a built-in video player, image gallery, and document previewer in the browser - Exposes all storage backends as a single WebDAV endpoint so you can mount them on any OS - Provides a REST API for programmatic file operations and third-party integrations ## Architecture Overview Alist runs as a single Go binary with an embedded SQLite or MySQL database for configuration and metadata. On startup it registers driver adapters for each configured storage backend. File requests are proxied or redirected depending on the driver: some providers support direct-link mode where the client downloads straight from the CDN, while others require server-side proxying. The Vue 3 frontend communicates via a JSON REST API. ## Self-Hosting & Configuration - Deploy with Docker, the one-line install script, or download the binary for Linux, macOS, or Windows - Configure storage backends through the web admin panel at port 5244 - Set environment variables or edit `data/config.json` for database, port, and TLS settings - Add reverse proxy via Nginx or Caddy for HTTPS termination - Enable two-factor authentication and per-folder permissions for multi-user setups ## Key Features - Supports 30+ storage providers with a pluggable driver architecture - Built-in media preview: video player (with subtitle support), audio player, image gallery, PDF, Office documents, and code files - WebDAV server that unifies all backends into a single mountable endpoint - Offline download integration with aria2 for fetching files directly to storage backends - Customizable UI with dark mode, i18n support, and optional password-protected shares ## Comparison with Similar Tools - **Nextcloud** — full collaboration suite with heavier resource usage; Alist is read-mostly and far more lightweight - **FileBrowser** — manages a single local directory; Alist aggregates multiple remote cloud accounts - **Rclone** — powerful CLI for cloud storage sync; Alist adds a web UI and streaming capabilities - **Seafile** — focuses on file sync and team collaboration; Alist is primarily a listing and playback gateway - **CloudReve** — similar concept but smaller driver ecosystem and less active community ## FAQ **Q: Does Alist store my files on its own server?** A: No. Alist acts as a gateway and proxy. Files remain on their original storage backends; Alist only stores configuration and metadata. **Q: Can I use Alist to sync files between providers?** A: Alist focuses on listing and streaming. For sync and migration, pair it with Rclone or use the built-in copy function for one-off transfers. **Q: How do I secure my Alist instance?** A: Enable the built-in authentication, set strong admin passwords, use HTTPS via a reverse proxy, and configure per-folder guest access policies. **Q: What are the system requirements?** A: Minimal — a single-core VM with 256 MB RAM can serve dozens of concurrent users since most file transfers go directly to the storage provider. ## Sources - https://github.com/alist-org/alist - https://alist.nn.ci/guide/ --- Source: https://tokrepo.com/en/workflows/asset-40cecb19 Author: Script Depot