2307 字
12 分钟
Openlist部署教程

前置操作

#放行openlist端口5244
firewall-cmd --add-port=5244/tcp --permanent
#重启防火墙
firewall-cmd --reload
#查看防火墙放行端口
firewall-cmd --list-ports
#查看完整全部规则(端口 + 服务 + 网卡信息,排查首选)
firewall-cmd --list-all

1.手动安装#

官网:Openlist

1.1下载Openlist#

#使用curl下载Openlist
curl -L -O https://github.com/OpenListTeam/OpenList/releases/download/v4.2.5/openlist-linux-musl-amd64.tar.gz
#curl下载失败试试wget
wget https://github.com/OpenListTeam/OpenList/releases/download/v4.2.5/openlist-linux-musl-amd64.tar.gz

1.2解压和安装#

#解压下载的文件
tar -zxvf openlist-linux-musl-amd64.tar.gz
#给予特殊执行权限
chmod +x openlist
#将程序移动到系统目录
mv openlist /usr/bin/
#创建数据目录
mkdir -p /etc/openlist

1.3测试运行并获取密码#

# 直接运行OpenList
openlist server --data /etc/openlist
配置文件:/etc/openlist/config.json
运行后你会看到类似这样的输出:
INFO[2026-08-21 13:40:35] reading config file: /usr/bin/data/config.json
INFO[2026-08-21 13:40:35] config file not exists, creating default config file
INFO[2026-08-21 13:40:35] load config from env with prefix: OPENLIST_
INFO[2026-08-21 13:40:35] total memory: 7904MB, available: 7336MB
INFO[2026-08-21 13:40:35] min free memory: 790MB
INFO[2026-08-21 13:40:35] max block limit: 64MB
INFO[2026-08-21 13:40:35] auto memory limit: 4MB
INFO[2026-08-21 13:40:35] init logrus...
#密码
Successfully created the admin user and the initial password is: kZGfUg3l
start HTTP server @ 0.0.0.0:5244

1.4创建系统服务(Openlist后台运行)#

#创建服务配置文件
vi /etc/systemd/system/openlist.service

在文件中输入以下内容

[Unit]
Description=OpenList service
Wants=network.target
After=network.target network.service
[Service]
Type=simple
WorkingDirectory=/etc/openlist
ExecStart=/etc/openlist server
KillMode=process
[Install]
WantedBy=multi-user.target

启动并启用服务

# 重新加载systemd配置
systemctl daemon-reload
# 设置开机自启
systemctl enable openlist
# 立即启动服务
systemctl start openlist
# 检查服务状态
systemctl status openlist
● openlist.service - OpenList Service
Loaded: loaded (/etc/systemd/system/openlist.service; enabled; preset: disabled)
Active: active (running) since Fri 2026-08-21 09:35:18 CST; 4h 23min ago
Main PID: 3004 (openlist)
Tasks: 9 (limit: 50296)
Memory: 26.8M (peak: 28.8M)
CPU: 640ms
CGroup: /system.slice/openlist.service
└─3004 /usr/bin/openlist server --data /etc/openlist
8月 21 09:35:18 test systemd[1]: Started OpenList Service.
8月 21 09:35:18 test openlist[3004]: INFO[2026-08-21 09:35:18] reading config file: /etc/openlist/config.json
8月 21 09:35:18 test openlist[3004]: INFO[2026-08-21 09:35:18] load config from env with prefix: OPENLIST_
8月 21 09:35:18 test openlist[3004]: INFO[2026-08-21 09:35:18] total memory: 7904MB, available: 7363MB
8月 21 09:35:18 test openlist[3004]: INFO[2026-08-21 09:35:18] min free memory: 790MB
8月 21 09:35:18 test openlist[3004]: INFO[2026-08-21 09:35:18] max block limit: 64MB
8月 21 09:35:18 test openlist[3004]: INFO[2026-08-21 09:35:18] auto memory limit: 4MB
8月 21 09:35:18 test openlist[3004]: INFO[2026-08-21 09:35:18] init logrus...
8月 21 09:35:18 test openlist[3004]: start HTTP server @ 0.0.0.0:5244
如果状态显示"active (running)",说明服务启动成功

如果查看状态出现

systemctl status openlist
● openlist.service - OpenList Service
Loaded: loaded (/etc/systemd/system/openlist.service; enabled; preset: disabled)
Active: activating (auto-restart) (Result: exit-code) since Fri 2026-08-21 09:31:02 CST; 1s ago
Process: 1437 ExecStart=/usr/bin/openlist server --data /etc/openlist (code=exited, status=203/EXEC)
Main PID: 1437 (code=exited, status=203/EXEC)
CPU: 665us
解决办法:
1.临时关闭SELinux
setenforce 0
2.恢复默认文件标签
restorecon -v /usr/bin/openlist
该命令会根据 /etc/selinux/targeted/contexts/files/file_contexts 中的规则恢复默认标签

1.5访问Openlist#

  1. 浏览器访问:http://服务器地址:5244
  2. 用户名:admin
  3. 密码:第三步中获取的初始密码
  4. 登录后立即修改密码

2、一键脚本安装#

curl -fsSL https://res.oplist.org/script/v4.sh > install-openlist-v4.sh && sudo bash install-openlist-v4.sh
欢迎使用 OpenList 管理脚本
基础功能:
1、安装 OpenList
2、更新 OpenList
3、卸载 OpenList
-------------------
服务管理:
4、查看状态
5、密码管理
6、启动 OpenList
7、停止 OpenList
8、重启 OpenList
-------------------
配置管理:
9、备份配置
10、恢复配置
-------------------
高级选项:
11、Docker 管理
12、定时更新
13、系统状态
14、关于
-------------------
0、退出脚本
请输入选项 [0-14]: 1
检查系统空间...
安装目录准备就绪:/opt/openlist
是否使用 GitHub 代理?(默认无代理)
代理地址必须为 https 开头,斜杠 / 结尾
例如:https://ghproxy.net/
请输入代理地址或直接按 Enter 继续:
使用默认 GitHub 地址进行下载
下载 OpenList ...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
0 0 0 0 0 0 0 0 --:--:-- 0:00:01 --:--:-- 0
2 46.6M 2 1317k 0 0 56936 0 0:14:19 0:00:23 0:13:56 28794
┌────────────────────────────────────────────────────┐
│ OpenList 安装成功! │
│ │
│ 版本信息:v4.2.5 │
│ │
│ 访问地址: │
│ 局域网:http://XXX.XXX.XXX.XXX:5244/ │
│ 公网: http://XXX.XXX.XXX.XXX:5244/ │
│ 配置文件:/opt/openlist/data/config.json │
│ │
│ 账号信息: │
│ 默认账号:admin │
│ 初始密码:r4tUrEAl │
└────────────────────────────────────────────────────┘
命令行工具安装成功!
现在你可以使用以下命令:
1. openlist - 快捷命令
2. openlist-manager - 完整命令
启动服务中...
管理: 在任意目录输入 openlist 打开管理菜单
温馨提示:如果端口无法访问,请检查服务器安全组、防火墙和服务状态

3、使用docker安装#

3.1安装docker(安装过docker可跳过)#

3.1.1卸载旧版本(可选,干净系统可跳过)

dnf remove -y docker docker-client docker-client-latest docker-common docker-latest docker-latest-logrotate docker-logrotate docker-engine

3.1.2安装依赖工具

dnf install -y dnf-plugins-core

3.1.3添加docker软件源

#添加仓库
dnf config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
# 替换源地址为阿里云
sed -i 's+download.docker.com+mirrors.aliyun.com/docker-ce+' /etc/yum.repos.d/docker-ce.repo
#更新 dnf 软件源的本地缓存
dnf makecache

3.1.4安装 Docker 全套(包含 docker‑compose 插件)

dnf install -y docker-ce docker-ce-cli containerd.io docker-buildx-plugin docker-compose-plugin

3.1.5启动服务&设置开机自启

# 启动docker
sudo systemctl start docker
# 设置开机自启
sudo systemctl enable docker
# 查看状态
sudo systemctl status docker

3.1.6验证安装

# 查看 docker 版本
docker --version
#显示 docker 版本号
Docker version 29.7.2, build a7dcaa6
#查看 docker compose 版本
docker compose version
#显示 docker compose 版本号
Docker Compose version v5.5.0

3.1.7配置国内镜像加速(解决拉镜像慢)

编辑 /etc/docker/daemon.json

#在etc目录下创建docker目录
mkdir -p /etc/docker
#将加速源写入daemon.json文件
tee /etc/docker/daemon.json <<-'EOF'
{
"registry-mirrors": [
"https://docker.m.daocloud.io",
"https://docker.1ms.run"
],
"log-driver":"json-file",
"log-opts":{"max-size":"100m","max-file":"3"}
}
EOF

重载并重启 docker 生效:

# 重新加载systemd配置
systemctl daemon-reload
# 重启docker
systemctl restart docker

校验加速是否生效:

# 查看 Docker 系统全局信息
docker info
#输出内容往下看 Registry Mirrors 能看到上面配置的地址即成功
Client: Docker Engine - Community
Version: 29.7.2
Context: default
Debug Mode: false
Plugins:
buildx: Docker Buildx (Docker Inc.)
Version: v0.36.1
Path: /usr/libexec/docker/cli-plugins/docker-buildx
compose: Docker Compose (Docker Inc.)
Version: v5.5.0
Path: /usr/libexec/docker/cli-plugins/docker-compose
Server:
Containers: 0
Running: 0
Paused: 0
Stopped: 0
Images: 0
Server Version: 29.7.2
Storage Driver: overlayfs
driver-type: io.containerd.snapshotter.v1
Logging Driver: json-file
Cgroup Driver: systemd
Cgroup Version: 2
Plugins:
Volume: local
Network: bridge host ipvlan macvlan null overlay
Log: awslogs fluentd gcplogs gelf journald json-file local splunk syslog
CDI spec directories:
/etc/cdi
/var/run/cdi
Swarm: inactive
Runtimes: io.containerd.runc.v2 runc
Default Runtime: runc
Init Binary: docker-init
containerd version: aad11006b869517fcd3009450b6f82da282e1a9b
runc version: v1.4.3-0-gbb14dabe
init version: de40ad0
Security Options:
seccomp
Profile: builtin
cgroupns
Kernel Version: 5.14.0-687.10.1.el9_8.0.1.x86_64
Operating System: Rocky Linux 9.8 (Blue Onyx)
OSType: linux
Architecture: x86_64
CPUs: 4
Total Memory: 7.72GiB
Name: test
ID: a4e9e10f-f157-4f20-9507-d4010ff321fd
Docker Root Dir: /var/lib/docker
Debug Mode: false
Experimental: false
Insecure Registries:
::1/128
127.0.0.0/8
Registry Mirrors:
https://docker.m.daocloud.io/
https://docker.1ms.run/
Live Restore Enabled: false
Firewall Backend: iptables+firewalld
EnableUserlandProxy: true
UserlandProxyPath: /usr/bin/docker-proxy

3.1.8免 sudo 执行 docker(可选,普通用户)

把你的用户加入 docker 组,不用每次敲 sudo

sudo usermod -aG docker $USER

3.1.9常用命令速查

# 查看运行容器
docker ps
# 查看全部容器
docker ps -a
# 本地镜像列表
docker images
# 后台启动compose项目
docker compose up -d
# 停止删除compose容器
docker compose down
#停止docker容器
docker stop 容器名或容器id
#删除docker容器
docker rm 容器名或容器id

3.2使用docker安装openlist#

安装好 Docker 后,执行以下命令:

#在etc目录下创建openlist目录
mkdir -p /etc/openlist
#拉取openlist镜像并运行
docker run --user $(id -u):$(id -g) -d --restart=unless-stopped -v /etc/openlist:/opt/openlist/data -p 5244:5244 -e UMASK=022 --name="openlist" openlistteam/openlist:latest
chown -R 1001:1001 /etc/openlist
docker run -d --restart=unless-stopped -v /etc/openlist:/opt/openlist/data -p 5244:5244 -e UMASK=022 --name="openlist" openlistteam/openlist:latest

首次运行

docker logs openlist

你将在日志中看到密码

Successfully created the admin user and the initial password is: 6zlCeP5E

3.3使用docker compose安装#

创建 docker-compose.yml 文件。

mkdir -p /opt/openlist
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:
- './data:/opt/openlist/data'
ports:
- '5244:5244'
environment:
- UMASK=022
restart: unless-stopped

3.4使用docker compose 一键部署Openlist+Meilisearch索引#

为meilisearch生成密钥

openssl rand -hex 16

使用docker compose部署

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:
- './data:/opt/openlist/data'
ports:
- '5244:5244'
environment:
- UMASK=022
networks:
- openlist
restart: unless-stopped
meilisearch:
image: getmeili/meilisearch:v1.53
container_name: meilisearch
ports:
- '7700:7700'
volumes:
- /tmp/data/Docker/meilisearch/meili_data:/meili_data
command: meilisearch --schedule-snapshot --snapshot-dir /meili_data/snapshots
environment:
- MEILI_MASTER_KEY=刚刚生成的密钥
tty: true
stdin_open: true
networks:
- openlist
restart: unless-stopped
networks:
openlist:
driver: bridge

在openlist中设置使用meilisearch

如何在openlist设置meilisearch

首先你需要修改config.json,在这个示例中,它应该位于/tmp/data/Docker/OpenList/config.json

修改下文的部分,填写meilisearch的ip地址与端口,以及你在MEILI_MASTER_KEY设置的密钥

"meilisearch": {
"host": "http://meilisearch:7700",
"api_key": "your_master_key_here",
"index": "openlist"
},

接下来打开管理面板,点击索引,选择meilisearch,点击刷新,即可编制索引

3.5使用docker compose单部署Meilisearch索引#

services:
meilisearch:
image: getmeili/meilisearch:v1.53
container_name: meilisearch
ports:
- '7700:7700'
volumes:
- /tmp/data/Docker/meilisearch/meili_data:/meili_data
command: meilisearch --schedule-snapshot --snapshot-dir /meili_data/snapshots
environment:
- MEILI_MASTER_KEY=密钥
tty: true
stdin_open: true
networks:
- openlist
restart: unless-stopped
networks:
openlist:
driver: bridge

4、获取 / 重置管理员密码#

OpenList 初始 admin 密码是随机生成的,不会是固定值。三种获取/重置方式:

Docker 环境

# 重新随机生成并打印密码
docker exec -it openlist ./openlist admin random
# 或手动设置一个强密码
docker exec -it openlist ./openlist admin set 你的强密码

二进制环境

cd /opt/openlist
./openlist admin random # 重新生成随机密码(打印到终端)
./openlist admin set 你的强密码 # 直接设置指定密码

忘记密码时,用 admin random 重新生成即可;首次安装后请立即改密

Openlist部署教程
https://xiaomai.bot.cd/posts/openlist/
作者
XiaoMai
发布于
2026-09-08
许可协议
CC BY-NC-SA 4.0

分享文章

生成精美分享图或复制链接,与更多人分享本文。

继续阅读

沿着主题读

基于共同的标签与分类