🚨 Breaking Changes
为了更好地符合容器规范(甚至哪怕是RedHat的公约性质规定),从第74号问题开始,我们就已经开始准备对容器化使用方式的重构,涉及但不限于将aria2迁移为独立镜像等。
在 4.1.1
版本中,我们已移除 PUID/PGID 的运行方式,并且借鉴 MariaDB 等多个知名镜像的构建方法,通过useradd
新增用户和用户组 openlist
(UID: 1001,GID: 1001),并以该用户身份运行 openlist server
。
- 新安装用户:理论上无需额外操作,开箱即用。
- 已有安装用户:如有权限问题,请在宿主机为该用户进行相应授权。
由于 Docker 和 Podman 在用户命名空间映射上的差异,宿主机用户与容器用户可能不完全对应。Podman 环境下,可以通过 UIDMap 或 UserNS 映射用户。
https://doc.oplist.org/guide/installation/docker
❓ 常见问题:
Q: 宿主机没有 UID 1001 的用户怎么办?
A: 不影响使用,授权时采用数字 UID 即可,无需宿主机实际存在该用户。
In order to better align with container standards (even those defined by RedHat conventions), we have started preparing a major refactor of container usage starting from Issue #74, which includes, but is not limited to, migrating aria2 to a separate image.
In version 4.1.1
, we have removed the PUID/PGID method of operation and, inspired by well-known images like MariaDB, we have adopted a new build method. We now add a new user and user group called openlist
(UID: 1001, GID: 1001) using useradd
, and run the openlist server
as that user.
- New installations: No additional steps are needed, it’s ready to use out of the box.
- Existing installations: If there are permission issues, please ensure the necessary authorization for the user on the host machine.
Due to differences in user namespace mapping between Docker and Podman, the host machine user and the container user may not directly correspond. In a Podman environment, you can map users using UIDMap or UserNS.
https://doc.oplist.org/guide/installation/docker
❓ FAQ:
Q: What if the host machine doesn’t have a user with UID 1001?
A: It won’t affect usage. When granting permissions, you can use the numeric UID directly, and the actual user doesn’t need to exist on the host machine.
🚀 Features
- 123_open:
- ci:
- Add FRONTEND_REPO variable to workflows and build script - by @Suyunmeng in #1006 (b9b8e)
- Add the default user for docker image - by @dezhishen and Copilot in #1036 (d0c22)
- cmd:
- config:
- Add PWA manifest.json endpoint for web app installation - by @Suyunmeng in #990 (ab747)
- docker:
- driver_strm:
- lenovonas_share:
- Add thumb - by @YangRucheng in #986 (52d7d)
- local:
- offline_download:
- Filter empty URLs in offline download requests - by @Suyunmeng in #948 (a703b)
- stream:
- Fast buffer freeing for large cache - by @j2rong4cn and Copilot in #1053 (016ed)
- sync:
- Add workflow to sync GitHub repository - by @Suyunmeng in #1060 (74bf9)
🐞 Bug Fixes
- aliyundrive_open:
- Limit rate for every request - by @huoxingdawang and Copilot in #724 and #1011 (df479)
- bootstrap:
- ci:
- Update sync workflow - by @Suyunmeng in #1061 (dc42f)
- ci-sync:
- Fix workflow for syncing Repository - by @Suyunmeng in #1062 (71ada)
- docker:
- Improve startup process and SIGTERM handling - by @dezhishen in #1089 (10a14)
- dropbox:
- Incorrect path error during upload - by @tuthanika in #1052 (d7640)
- fs:
- Forget cache when get link error - by @Seven66677731 in #956 (58dbf)
- Deadlock when get link error - by @j2rong4cn in #963 (6b096)
- Nil interface not equal to nil - by @j2rong4cn in #971 (1208b)
- ftp:
- Create a new connection for each download - by @j2rong4cn in #989 (317d1)
- strm:
- Encoded path is ineffective - by @Seven66677731 in #951 (05ff7)
- terabox:
- User not exists error - by @yuyamionini in #1056 (5de6b)
- webdav:
- Handle HEAD requests for directories with appropriate headers - by @Suyunmeng in #1015 (aa0ce)
🏎 Performance
- Optimize upload - by @j2rong4cn in #554 (8cf15)
- ftp: Improve concurrent Link response; fix alias/local driver issues - by @j2rong4cn in #974 (9ac04)
- stream: Improve file stream range reading and caching mechanism - by @j2rong4cn and Copilot in #1001 (57fce)