linuxserver/keepassxcKeePassXC是一款免费开源的密码管理器,源自KeePassX(KeePass的跨平台移植版本)的社区分支。LinuxServer.io团队提供的该Docker镜像支持定期应用更新、用户权限映射(PGID、PUID)、基于s6 overlay的自定义基础镜像,以及每周基础操作系统更新和安全补丁,确保部署高效与安全。
!keepassxc
本镜像利用Docker manifest实现多平台支持。直接拉取 lscr.io/linuxserver/keepassxc:latest 即可获取对应架构的镜像,也可通过标签指定特定架构:
| 架构 | 支持情况 | 标签 |
|---|---|---|
| x86-64 | ✅ | amd64-<version tag> |
| arm64 | ✅ | arm64v8-<version tag> |
应用可通过以下地址访问:
本镜像默认使用自签名证书,通信协议为https。若使用验证证书的反向代理,需为容器禁用证书检查。
[!WARNING] 现代GUI桌面应用可能与最新Docker系统调用限制存在兼容性问题。在使用旧内核或libseccomp版本的主机上,可添加
--security-opt seccomp=unconfined参数允许系统调用。
[!WARNING] 本容器对主机系统具有特权访问权限,请勿将其暴露到互联网,除非已采取严格安全措施。
CUSTOM_USER和PASSWORD环境变量启用基础HTTP认证,仅适用于可信局域网环境。若需互联网暴露,强烈建议搭配反向代理(如SWAG)实现强认证。sudo权限的终端,任何访问GUI的用户可在容器内获取root权限、安装软件或探测局域网。--security-opt seccomp=unconfined),但此举会降低Docker安全性,仅在必要时使用。本容器基于Docker Baseimage Selkies,支持以下环境变量和运行配置:
| 变量 | 描述 |
|---|---|
CUSTOM_PORT | 内部HTTP端口,默认3000 |
CUSTOM_HTTPS_PORT | 内部HTTPS端口,默认3001 |
CUSTOM_WS_PORT | 容器监听WebSocket的内部端口,默认8082 |
CUSTOM_USER | HTTP基础认证用户名,默认abc |
PASSWORD | HTTP基础认证密码,未设置则禁用认证 |
SUBFOLDER | 反向代理子路径,需包含前后斜杠(如/subfolder/) |
TITLE | 浏览器页面标题,默认"Selkies" |
START_DOCKER | 设为false时禁用Docker-in-Docker自动启动 |
DISABLE_IPV6 | 设为true禁用容器IPv6支持 |
LC_ALL | 容器 locale 设置(如fr_FR.UTF-8) |
DRINODE | 指定DRI3设备路径(如/dev/dri/renderD128) |
NO_DECOR | 设为true时应用无窗口边框(适合PWA) |
NO_FULL | 设为true时禁用自动全屏 |
DISABLE_ZINK | 设为true时禁用Zink环境变量配置 |
WATERMARK_PNG | 水印图片路径(如/usr/share/selkies/www/icon.png) |
WATERMARK_LOCATION | 水印位置(1:左上,2:右上,3:左下,4:右下,5:居中,6:动画) |
| 参数 | 描述 |
|---|---|
--privileged | 启动Docker-in-Docker环境,建议挂载主机Docker数据目录(如-v /path/to/docker-data:/var/lib/docker)提升性能 |
-v /var/run/docker.sock:/var/run/docker.sock | 挂载主机Docker socket,允许容器管理主机容器 |
--device /dev/dri:/dev/dri | 挂载GPU设备,配合DRINODE环境变量实现GPU加速(仅支持开源驱动) |
通过LC_ALL环境变量设置桌面会话语言,例如:
-e LC_ALL=zh_CN.UTF-8(中文)-e LC_ALL=ja_JP.UTF-8(日文)-e LC_ALL=ko_KR.UTF-8(韩文)-e LC_ALL=ar_AE.UTF-8(阿拉伯文)-e LC_ALL=ru_RU.UTF-8(俄文)-e LC_ALL=es_MX.UTF-8(西班牙文-拉丁美洲)-e LC_ALL=de_DE.UTF-8(德文)-e LC_ALL=fr_FR.UTF-8(法文)-e LC_ALL=nl_NL.UTF-8(荷兰文)-e LC_ALL=it_IT.UTF-8(意大利文)为实现应用或游戏加速,可挂载GPU设备:
--device /dev/dri:/dev/dri
仅支持开源GPU驱动:
| 驱动 | 描述 |
|---|---|
| Intel | i965和i915驱动(适用于Intel iGPU芯片组) |
| AMD | AMDGPU、Radeon和ATI驱动(适用于AMD独立显卡或APU芯片组) |
| NVIDIA | 仅nouveau驱动,闭源NVIDIA驱动不支持DRI3 |
DRINODE环境变量可指定特定GPU设备。DRI3在aarch64架构上需容器内安装对应芯片组驱动。
通过apt-get install安装的原生包在容器重建后不会保留。建议使用proot-apps(安装到用户持久化$HOME目录):
bashproot-apps install filezilla # 示例:安装FileZilla
支持的应用列表见此处。
通过universal-package-install mod安装系统原生仓库包(会增加容器启动时间,非持久化):
yamlenvironment: - DOCKER_MODS=linuxserver/mods:universal-package-install - INSTALL_PACKAGES=libfuse2|git|gdb # 需安装的包,用|分隔
yaml--- services: keepassxc: image: lscr.io/linuxserver/keepassxc:latest container_name: keepassxc environment: - PUID=1000 # 替换为实际PUID - PGID=1000 # 替换为实际PGID - TZ=Etc/UTC # 替换为实际时区,如Asia/Shanghai volumes: - /path/to/config:/config # 主机路径替换为实际目录 ports: - 3000:3000 # HTTP端口(如需) - 3001:3001 # HTTPS端口 shm_size: "1gb" # 桌面镜像推荐设置 restart: unless-stopped
bashdocker run -d \ --name=keepassxc \ -e PUID=1000 \ -e PGID=1000 \ -e TZ=Etc/UTC \ -p 3000:3000 \ -p 3001:3001 \ -v /path/to/config:/config \ --shm-size="1gb" \ --restart unless-stopped \ lscr.io/linuxserver/keepassxc:latest
[!NOTE] 除标记为“可选”的参数外,其余均为必填项,需提供有效值。
| 参数 | 功能 |
|---|---|
-p 3000:3000 | KeePassXC桌面GUI HTTP端口(需反向代理) |
-p 3001:3001 | KeePassXC桌面GUI HTTPS端口 |
-e PUID=1000 | 用户ID(详见下方“用户/组标识符”) |
-e PGID=1000 | 组ID(详见下方“用户/组标识符”) |
-e TZ=Etc/UTC | 时区,列表见此处 |
-v /config | 容器内用户主目录,存储本地文件和设置 |
--shm-size= | 所有桌面镜像推荐设置(如1gb) |
通过FILE__前缀从文件设置环境变量:
bash-e FILE__MYVAR=/run/secrets/mysecretvariable # MYVAR值为文件内容
通过-e UMASK=022(可选)覆盖容器内服务的默认umask。umask通过减法调整权限,而非直接设置,详情见此处。
使用卷(-v)时,主机与容器可能存在权限问题。通过指定PUID(用户ID)和PGID(组ID)可避免此问题。确保主机卷目录所有者与指定的PUID/PGID一致。
获取当前用户的PUID/PGID:
bashid your_user
示例输出:
textuid=1000(your_user) gid=1000(your_user) groups=1000(your_user)
进入运行中容器的Shell:
bashdocker exec -it keepassxc /bin/bash
实时查看容器日志:
bashdocker logs -f keepassxc
容器版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' keepassxc
镜像版本号:
bashdocker inspect -f '{{ index .Config.Labels "build_version" }}' lscr.io/linuxserver/keepassxc:latest
bashdocker-compose pull # 所有镜像 # 或 docker-compose pull keepassxc # 单个镜像
bashdocker-compose up -d # 所有容器 # 或 docker-compose up -d keepassxc # 单个容器
bashdocker image prune
bashdocker pull lscr.io/linuxserver/keepassxc:latest
bashdocker stop keepassxc
bashdocker rm keepassxc
/config目录和设置会保留)bashdocker image prune
[!TIP] 推荐使用Diun接收更新通知,不建议使用自动更新容器的工具。
bashgit clone [***] cd docker-keepassxc docker build \ --no-cache \ --pull \ -t lscr.io/linuxserver/keepassxc:latest .
在x86_64硬件上构建ARM变体(反之亦然):
bashdocker run --rm --privileged lscr.io/linuxserver/qemu-static --reset
注册后使用指定Dockerfile:-f Dockerfile.aarch64。
manifest unknown 错误
TLS 证书验证失败
DNS 解析超时
410 错误:版本过低
402 错误:流量耗尽
身份认证失败错误
429 限流错误
凭证保存错误
来自真实用户的反馈,见证轩辕镜像的优质服务