Alist It is an open source self-hosted file management system that is mainly used to provide simple and convenient file sharing and access functions. It can display your local or cloud stored files and directories in the form of web pages, and supports a variety of storage services and protocols, such as Google Drive, Dropbox, OneDrive, Alibaba Cloud OSS, etc. Users can browse, download or share these files through the web interface.
Alist's main features include:
Self-hosted: You can install and run it on your own server to ensure data security and privacy.
Multi-platform support: Supports multiple storage services and protocols, and can centrally manage multiple storage locations.
Easy to use: Provides an intuitive web interface for easy browsing and file management.
Sharing function: You can generate sharing links or set access permissions to facilitate file sharing and access.
Custom: Supports a certain degree of interface and function customization to meet different needs.
Alist is a good choice for users who need a flexible file management solution, especially those who are somewhat tech-savvy and want to run a file management system in their own environment.
Alist officially describes it as "a file list program that supports multiple storages". But I think it is more appropriate to understand it as a powerfulOnline cloud storageMore appropriate. What are its advantages?
Multiple Format Support: You can instantly browse various file formats such as pictures, videos, audios, PDFs, etc.
Easy access: After simple settings, visitors can directly access resources without logging in.
Feature-rich: In addition to browsing, it also includes many practical functions such as downloading.
Highly customizable: Supports customized interface, allowing you to create your own network disk style.
Multi-platform support: Supports mounting multiple network disks and storage services, such as local storage, Google Drive, OneDrive, etc.
If you think the Alist built above is good and you want to build it manually, please follow the steps below to achieve the same effect as mine.
Preparation for building Alist
Before we begin, we need to prepare the following resources:
VPS Servers: It is recommended to use Ubuntu or Debian system, with a minimum configuration of 1 core and 1G memory. (Required)
domain name: Although not required, having a domain name can make your network disk more professional and easier to access. (optional)
Basic Linux command line knowledge: You don't need to be very professional, but you must be able to execute simple commands.
Alist construction steps detailed explanation
1. Install Docker
First, we need to install Docker on the server. Why choose Docker? Because it can make our deployment process simpler and safer. Use the following command to install:
curl -fsSL https://get.docker.com -o get-docker.sh sudo sh get-docker.sh
After the installation is complete, you can run docker --version Confirm whether the installation was successful.
Docker installation is successful
2. Create Alist project directory
Next, we need to create a dedicated directory for Alist:
mkdir /var/docker/alist -p && cd /var/docker/alist
3. Create a Docker Compose configuration file
In the directory we just created, we need to create a docker-compose.yml document:
Save and exit (Ctrl+X, then Y, and finally Enter).
4. Start Alist
Now, we can start Alist:
docker-compose up -d
use docker ps Command query whether it runs successfully;
5. Visit Alist
Open your browser and type http://your server IP:5244 You can see the Alist interface.
6. Get the initial login password
The first login requires a password, which can be obtained by the following command:
docker logs alist
Find the line that says "Initial Password" in the output. The default username is admin.
7. Login successful
Alist Advanced Configuration
1. Modify the default username and password
For security reasons, please change the default username and password immediately after logging in. Click "Management" at the bottom and find the "User" option in the left menu.
2. Adding local storage
Alist supports multiple storage methods. Here we take adding local storage as an example. The method of adding other network disk storage is described in detail in the Alist official website. For detailed adding methods, please refer to the official documentation:https://alist.nn.ci/guide/drivers/
There is one thing that needs attention here, the filling of the mount path and the root folder path. At first, when I didn't read the document carefully, this place was always filled in incorrectly. Later, I found a blogger'sAlist deployment and mounting local storage blog, and successfully solved the problem.
Here we take the example of adding only one video folder to the homepage:
First, we need to go back to the server and use the command cd /etc/alist Open the mounted folder path and use the command mkdir video Create a new video folder (Chinese is not recommended), and finally pass ls command to check whether the video folder is created successfully.
Then return to the settings interface for adding local storage, which mainly involvesMount pathandRoot folder pathFill in
Fill in the mount path
Fill in the root folder path
After completing the above steps, the video folder will be displayed on the home page.
Alist upload file
The method of uploading files is also very simple. After completing the creation of the video folder according to the above steps, we open the homepage and click the video folder to upload the file.
Just drag the uploaded content to the upload box below to complete the file upload.
Alist interface beautification
The above interface may be too simple and suitable for practical people.
Go back to the backend homepage and click Global in Settings. The main changes we make here are:Custom header and custom content. By modifying these two settings, you can complete simple beautification work.
Paste the following codes into the settings to complete the same beautified interface as the experience website.
Custom Header
Custom content
Instructions for using network disk resources
Only used for personal file sharing, anyone can view and download, please do not abuse.
warn:Once abuse is discovered, the IP will be immediately banned and will never be unblocked.
Notice:Some areas in China may experience slow speeds or loading failures due to network fluctuations. Please be patient.
If you need the password, please follow the WeChat public account: "兔哥博客" and reply with the keyword to obtain it.
Alist has many functions, including setting interface LOGO, title, setting folder hiding and password and so on. Due to limited space and relatively simple, these functions are waiting for you to explore on your own.
Regarding how to use domain name access, you need to resolve the domain name to IP first, and then you can easily manage the certificate by installing nginxproxymanager:
What is NPM (nginxproxymanager)?
Nginx Proxy Manager (NPM) is an open source project based on Nginx that provides an intuitive web interface for simplifying and managingNginx reverse proxy serverWith this manager, users can easily set up and manage proxies for multiple websites, routing external traffic to different web servers or applications.
Key features include:
Reverse Proxy: Allows you to route external requests to internal servers, achieving load balancing and application hiding.
SSL Certificate Management: Supports automatic acquisition and renewal of SSL certificates to ensure secure access via HTTPS.
Simple Web Interface: Provides a user-friendly web interface, making the configuration and management of Nginx proxy more intuitive and convenient.
Multisite support: Allows you to manage proxy settings for multiple sites at once, making centralized management convenient.
Installation prerequisites: Docker and Docker Compose have been installed on the system
For convenience, install the docker project in the /root/docker/npm/ directory. As root, enter the following code:
mkdir -p /root/docker/npm/ cd /root/docker/npm/ nano docker-compose.yml
Paste the following code into docker-compose In the document:
Then press ctrl+x, then press y Save it. Then execute the following code deployment in the current directory:
docker-compose up -d
enter docker ps Check whether the deployment is successful. If the following is displayed, the deployment is successful:
root@uuzi:~/docker/npm# docker ps CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES e56a12acaa1e jc21/nginx-proxy-manager:latest "/init" 20 seconds ago Up 20 seconds 0.0.0.0:80-81->80-81/tcp, :::80-81->80-81/tcp, 0.0.0.0:443->443/tcp, :::443->443/tcp npm-app-1
Enter in the browser http://ip:81 (Replace ip with the ip of your vps) Press Enter, and the deployment is successful as shown in the figure
After a successful login, you need to change your account and password. After remembering them, you can manage the reverse proxy service with a visual web interface.
Summarize
Alist is a powerful and easy-to-use network disk solution. Through this tutorial, you should have mastered the whole process of building Alist from scratch. Nextcloud, Alist is more lightweight, simpler to configure, and supports the integration of multiple storage services.