OpenList – A New Open Source and Self Hosted Multiple Storage Management Tool to Replace AList

The open-source project Alist was reportedly sold around early to mid-June 2025. The specific company that took it over has not been widely disclosed.

The sale became a point of controversy in the open-source community when users discovered that the project, previously fully open-source and community-driven, began to include hidden telemetry (usage statistics recording) by default without clear disclosure. 

This change led to significant erosion of trust, and the creation of a community-driven fork called OpenList which aims to remain fully open-source and free of such issues. 


OpenList aims to be a trusted successor to AList, emphasizing openness, transparency, and sustainable development. Currently, the project has gained widespread attention in the open-source community and has rapidly accumulated over thousands stars. The project team has begun replacing the original opaque API and completely removing potentially risky external links.
To ensure code security, OpenList developers reviewed all commits from the past six months line by line. The results showed that, apart from the original author's private APIs which still need to be replaced, no other significant security vulnerabilities were found.
Here are links you can find out more for the details
  • Document: https://doc.oplist.org/
  • Github: https://github.com/OpenListTeam/OpenList

  • Alist Github: https://github.com/AlistGo/alist

As the spiritual successor to Alist, Openlist not only retains the essence of the original project but also ensures its transparency and sustainability through open-source principles. For users who rely on cloud storage aggregation tools, now is a great time to try Openlist.

Advanced usage of Alist / Openlist: Alist / OpenList Advanced Usages

Introduction

Here are some of features from the Github page. 

Installation

Check the installation and configuration guide from : https://doc.oplist.org/guide

Installation 🖥️

In this post, I am going to show the easiest way to configure it using Docker

1 Install Docker and Docker Compose

  • apt update
  • apt install docker.io
  • apt install docker-compose

2 Create your own installation folder and local data storage folder

For example, here are my folders:

  • mkdir -p /opt/openlist /mnt/sdc1/data

3 Run Docker command

Docker Run Command to deploy:

  • mkdir -p /mnt/sdc1/data
    • This is your local storage folder will be mapped into openlist docker
  • docker run --user $(id -u):$(id -g) -d --restart=unless-stopped -v /mnt/sdc1/data:/opt/openlist/data -p 5244:5244 -e UMASK=022 --name="openlist" openlistteam/openlist:latest

Use Docker Compose to deploy:

  • mkdir -p /opt/openlist /mnt/sdc1/data
  • cd /opt/openlist
  • vim docker-compose.yml

# docker-compose.yml services: openlist: image: 'openlistteam/openlist:latest' container_name: openlist user: '0:0' # Please replace `0:0` with the actual user ID and group ID you want to use to run OpenList volumes: - '/mnt/sdc1/data:/opt/openlist/data' ports: - '5244:5244' environment: - UMASK=022 restart: unless-stopped

For user ID and group ID, here is the result when you run id command under root and netsec account:

root@tc:~# id
uid=0(root) gid=0(root) groups=0(root)
netsec@tc:~$ id
uid=1000(netsec) gid=1000(netsec) groups=1000(netsec),24(cdrom),25(floppy),27(sudo),29(audio),30(dip),44(video),46(plugdev),100(users),101(netdev)

4 Test access http://ip:5344/

Configuration

 

Get the initial password from first run 

docker logs openlist

You will see the admin password in the log.

Successfully created the admin user and the initial password is: xYZabHGf

If forgot the password later and need to reset

You can randomly generate or manually set

bash

# Randomly generate password docker exec -it openlist ./openlist admin random  # Manually set password to `NEW_PASSWORD` (replace this) docker exec -it openlist ./openlist admin set NEW_PASSWORD

Bind Your Domain with Your OpenList App

 

1. Use NPM

It will require a static public ip. 

2. Use Cloudflare Tunnel

Create a new Zero Trust - Connectors - Cloudflare Tunnels

Edit tunnel to Add a published application route
Map to a http://localhost:5224 service

my demo: https://homefiles.itprosec.com

Configure Storage

 

1. Local Storage

Mount Path: 
- Where is your local storage folder mounted to in OpenList virtual file system:

Root folder path:
- That is your local data folder you would like to show in OpenList
Under this /opt/openlist/data folder, there are some files created for configuration including admin password:
root@tc:/mnt/sdc1/data# ls
config.json  data.db  data.db-shm  data.db-wal  log  
The logs also will be found from log this folder. If for some reasons, system could not reach those files, the docker will re-generate those files under same folder but all settings will be default. 

Back up AList and Transfer to OpenList

The good news is that Openlist supports directly importing backup data from Alist, which means you can seamlessly migrate your existing cloud storage configurations and settings without having to re-add all your cloud storage accounts and path settings.
First, log in to and open the previous Alist project using your computer's browser. After entering the management page, click 备份&恢复the menu on the left, and then click 备份the button to back up. The backed-up data will be downloaded directly using your browser or the default download tool on your computer.

Note: This backup can only back up the cloud drive mounting configuration and some other settings in your Alist project, but it cannot back up your administrator account password.

The backup file can then be imported into Openlist using the restore function to complete the migration.

ClawCloud Deployment

https://doc.oplist.org/guide/installation/paas

For users without a personal server, ClawCloud offers a convenient free deployment solution:

  1. Log in to the ClawCloud console
  2. Click "App Launchpad" to enter the application launch platform.


  1. Click "Create App" to create a new application.


  1. Fill in the application information:
      • Application Name: openlist (can be customized)
      • Image Name: openlistteam/openlist:beta
      • Port: 5244
      • Public Address: Enabled
      • CPU: 0.2
      • Memory: 256M


Key Information

Name Value Description
Application Name openlist Application name
Image openlistteam/openlist:latest-lite Image, please make sure to use the one with lite, otherwise the error Pod ephemeral local storage usage exceeds the total limit of containers 100Mi. may occur
Replicas 1 Number of replicas, set to 1
CPU 0.2 Number of CPU cores, set according to your own needs
Memory 256M Memory size, set according to your own needs
Container Port 5244 Mapped port, which is 5244 if you have not modified the startup command or configuration
Public Access Y Enable external access
Custom Domain - If you have your own domain name, set it according to the prompts; if not, keep the default. Please make sure to use https for the protocol
Local Storage - Persistent volume
– Capacity 1 Capacity
– Mount Path /opt/openlist/data Configured mapped directory, which is /opt/openlist/data if you have not modified the startup command or configuration



  1. Click the "Deploy Application" button in the upper right corner to start deployment.



  1. Wait 3-10 minutes until the Public Address displays "Available".


  1. Copy the generated access address



  • Get login password :
  • Find your application instance in the Pod List.
  • View Logs
  • The string following "Password is:" is the administrator password.

The default username is admin

Desktop Deployment using binary executable file

 

You can download the corresponding binary executable file for the deployment system from https://doc.oplist.org/guide/installation/download or GitHub Release.

Download Options

Download the latest release from GitHub Releases:

  • WindowsOpenList-Desktop_x.x.x_{arch}-setup.exe
  • macOSOpenList-Desktop_x.x.x_{arch}.dmg
  • LinuxOpenList-Desktop_x.x.x_{arch}.deb or OpenList-Desktop_x.x.x_{arch}.rpm

Using Package Managers

Windows - Winget
bash

winget install OpenListTeam.OpenListDesktop

Installation Steps

Windows

  1. Download the .exe installer
  2. Run the installer as Administrator
  3. Follow the installation wizard
  4. Launch from Start Menu or Desktop shortcut

macOS

  1. Download the .dmg file
  2. Open the DMG and drag OpenList Desktop to Applications
  3. Right-click and select "Open" (first time only)
  4. Grant necessary permissions when prompted

Linux

  1. Download the .deb or .rpm package
  2. Use your package manager to install:

bash

# For Debian/Ubuntu sudo dpkg -i OpenList-Desktop_x.x.x_amd64.deb  # For CentOS/RHEL/Fedora sudo rpm -i OpenList-Desktop_x.x.x_amd64.rpm



Create/ Update / Maintenance your Docker

 

Free resources you might need to complete this docker project:

Pre-installed services:

  • Docker, 
    • apt update
    • apt install docker.io
    • apt install docker-compose
    • apt upgrade docker.io
    • mkdir /root/data/docker_data/<docker_name>
  • Docker-Compose (Using Ubuntu OS for the commands)
    • Docker-compose down
    • Optional command : use following command to backup your Docker data. You might need to change your folder name based on your docker configuraiton
      • cp -r /root/data/docker_data/<docker_name> /root/data/docker_data_backup/<docker_name>
    • docker-compose pull
    • docker-compose up -d
    • docker image prune
  • Portainer (Optional)
    • docker volume create portainer_data
    • docker run -d -p 9000:9000 --name portainer --restart always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest
  • Install some applications: apt install wget curl sudo vim git (Optional)
  • aapanel with Nginx (Optional)
  • Nginx Proxy Manager (Optional)
  • Install screen (Optional)
    • Install screen (Depends on the Linux Distribution if it came pre installed or not) : yum install screen
    • Initiate a Screen : screen or  screen -S <screen name> <command to execute>
    • Detach from the screen : "CTRL+A,D" not "CTRL+A+D"
    • List all the screen currently working : screen -ls
    • Reattach to a screen : screen  -r  <session number> or screen -r <screen name>
    • Kill specific screen: screen -X -S <screen name> quit
    • Kill all screens : pkill screen
  • Monitoring Usage
    • Docker stats

Remove Docker and Related folders

  • docker stop <Docker Name> # stop the docker but not remove anything. 
  • docker rm -f <Docker Name>  # remove speficic container, but will not delete mapped volumes
  • rm -rf /root/data/docker_data/<Docker Mapped Volumns>  # remove all mapped volumes
Or if you are using Docker compose, then here are related commands:
  • cd /root/data/docker_data/<docker name>
  • docker compose down
  • cd ..
  • rm -rf /root/data/docker_data/<docker name>  #remove everything under the folder

Update Docker

  • cd /root/data/docker_data/drawioai
  • docker compose pull
  • docker compose up -d    # no need to use command " docker compose stop " to stop docker first. It will take a longer time to update. docker compose up -d can complete all steps, stop docker, update, then start it again immediately.
  • docker image prune  # prune will delete all not used docker objects and not tagged and not used images. 

Videos

 

版权声明:
作者:siwei
链接:https://www.techfm.club/p/231020.html
来源:TechFM
文章版权归作者所有,未经允许请勿转载。

THE END
分享
二维码
< <上一篇
下一篇>>