Passbolt 密钥管理应用 Docker Compose 部署指南

Passbolt 密钥管理应用 Docker Compose 部署指南
Passbolt 密钥管理应用 Docker Compose 部署指南本文档基于 Ubuntu Server 26.04 虚拟机环境介绍如何使用 Docker Compose 部署 Passbolt 社区版CE并完成初始配置。目录环境准备编写 Compose 文件启动服务创建管理员账户访问与激活创建普通用户常见问题附录邮件服务配置可选一、环境准备1.1 安装 Docker 与 Docker Compose确保宿主机已安装 Docker Engine 和 Docker Compose 插件# 检查 Docker 版本docker--versiondockercompose version如未安装请参考 Docker 官方文档 完成安装。1.2 确认网络连通性部署完成后需从物理机如 Windows 11浏览器访问虚拟机上的 Passbolt 服务请提前确认虚拟机与物理机处于同一网络或网络可达虚拟机防火墙放行 80/443 端口sudoufw allow80/tcpsudoufw allow443/tcp1.3 创建项目目录mkdir-p~/passboltcd~/passbolt二、编写 Compose 文件在项目目录下创建docker-compose.yml也可以将官方提供的yaml文件重命名后直接使用services:db:image:mariadb:10.11restart:unless-stoppedenvironment:MYSQL_RANDOM_ROOT_PASSWORD:trueMYSQL_DATABASE:passboltMYSQL_USER:passboltMYSQL_PASSWORD:P4ssb0ltvolumes:-database_volume:/var/lib/mysqlpassbolt:image:passbolt/passbolt:latest-cerestart:unless-stoppeddepends_on:-dbenvironment:APP_FULL_BASE_URL:https://passbolt.localDATASOURCES_DEFAULT_HOST:dbDATASOURCES_DEFAULT_USERNAME:passboltDATASOURCES_DEFAULT_PASSWORD:P4ssb0ltDATASOURCES_DEFAULT_DATABASE:passboltvolumes:-gpg_volume:/etc/passbolt/gpg-jwt_volume:/etc/passbolt/jwtcommand:[/usr/bin/wait-for.sh,-t,0,db:3306,--,/docker-entrypoint.sh,]ports:-80:80-443:443volumes:database_volume:gpg_volume:jwt_volume:安全提示生产环境务必将数据库密码P4ssb0lt替换为强密码并修改APP_FULL_BASE_URL为实际域名。三、启动服务3.1 拉取镜像并启动cd~/passboltdockercompose up-d首次启动会自动拉取 MariaDB 和 Passbolt 镜像耗时约 2-5 分钟视网络状况而定。3.2 检查启动状态# 查看容器运行状态dockercomposeps# 查看实时日志等待服务就绪dockercompose logs-f当日志中出现类似Server ready或Listening on的信息时表示服务已启动完成。3.3 常见启动问题如遇镜像拉取失败如failed to resolve reference通常是 Docker 镜像源配置问题。可尝试更换可用镜像源sudonano/etc/docker/daemon.json示例配置{registry-mirrors:[https://docker.1panel.live,https://hub.rat.dev,https://docker.m.daocloud.io]}保存后重启 Dockersudosystemctl daemon-reloadsudosystemctl restartdockerdockercompose up-d四、创建管理员账户Passbolt 安装完成后没有默认管理员必须手动创建第一个管理员账户。4.1 执行创建命令dockercomposeexecpassboltsu-m-cbin/cake passbolt register_user \ -u adminyourdomain.com \ -f Admin \ -l User \ -r admin-s/bin/sh www-data参数说明-u管理员邮箱登录账号-f名字-l姓氏-r admin角色为管理员4.2 保存激活链接命令执行成功后会输出一个激活链接格式如下https://passbolt.local/setup/start/xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx/yyyyyyyy-yyyy-yyyy-yyyy-yyyyyyyyyyyy请复制并保存该链接稍后用于激活管理员账户。五、访问与激活5.1 配置 Hosts推荐由于docker-compose.yml中配置的APP_FULL_BASE_URL为https://passbolt.local需在物理机Windows 11上配置 hosts 映射以管理员身份打开记事本打开文件C:\Windows\System32\drivers\etc\hosts添加一行将192.168.x.x替换为虚拟机实际 IP192.168.x.x passbolt.local保存文件在 CMD 中刷新 DNS 缓存ipconfig /flushdns5.2 激活管理员账户在 Windows 浏览器中打开之前保存的激活链接由于是自签名证书浏览器会提示不安全点击“高级” → “继续前往”按照页面提示设置主密码Master Password——务必牢记丢失后无法恢复下载并安装浏览器扩展Passbolt Extension完成设置后即可使用邮箱和主密码登录管理后台5.3 直接通过 IP 访问的注意事项如果不配置 hosts、直接通过https://虚拟机IP访问需修改docker-compose.yml中的APP_FULL_BASE_URL为实际 IP否则会出现 CSP内容安全策略错误导致页面无法正常显示。六、创建普通用户管理员账户激活后可通过相同方式创建普通用户仅需将角色参数改为userdockercomposeexecpassboltsu-m-cbin/cake passbolt register_user \ -u zhangsancompany.com \ -f 张 \ -l 三 \ -r user-s/bin/sh www-data6.1 批量创建用户如需批量创建多个用户可编写脚本#!/bin/bashusers(zhangsancompany.com:张:三lisicompany.com:李:四wangwucompany.com:王:五)foruserin${users[]};doIFS:read-remail first last$userechoCreating user:$emaildockercomposeexecpassboltsu-m-cbin/cake passbolt register_user \ -u$email-f$first-l$last-r user-s/bin/sh www-dataecho----------------------------------------done6.2 用户激活流程复制输出的激活链接发送给对应用户用户在自己的浏览器中打开链接设置主密码并安装浏览器扩展完成激活后即可登录使用6.3 用户组管理对于多用户场景建议通过 Web 管理界面创建用户组方便密码共享管理员登录 Passbolt Web 界面进入Users → Groups创建组如开发团队、运维团队将用户添加到组密码可以按组共享无需逐个用户分享七、常见问题Q1创建用户后没有收到激活邮件Passbolt 默认不配置 SMTP激活链接仅在命令行输出。如需自动发送邮件请参考附录配置邮件服务。Q2如何备份数据# 备份数据库dockercomposeexecdb mysqldump-upassbolt-pP4ssb0ltpassboltpassbolt_backup.sql# 备份 GPG 和 JWT 密钥卷dockerrun--rm-vpassbolt_gpg_volume:/data-v$(pwd):/backup alpinetarczf /backup/gpg_backup.tar.gz-C/data.dockerrun--rm-vpassbolt_jwt_volume:/data-v$(pwd):/backup alpinetarczf /backup/jwt_backup.tar.gz-C/data.Q3如何更新 Passboltcd~/passboltdockercompose pulldockercompose up-dQ4忘记主密码怎么办主密码无法重置或找回。建议将主密码保存在安全的密码管理器中管理员可在后台删除旧账户并重新创建设置主密码时会提供恢复工具一般会自动下载到激活设备上可以查阅官方文档借助恢复工具找回密码Q5如何完全卸载cd~/passbolt# 停止并删除容器、网络保留数据卷dockercompose down# 彻底删除包括所有数据⚠️ 不可逆dockercompose down-v附录邮件服务配置可选如需在用户创建时自动发送激活邮件可在docker-compose.yml的passbolt服务中添加 SMTP 环境变量。常用邮箱 SMTP 配置示例邮箱服务商SMTP 服务器端口加密密码说明QQ 邮箱smtp.qq.com465ssl需开启 SMTP使用授权码163 邮箱smtp.163.com465ssl需开启 SMTP使用授权码Gmailsmtp.gmail.com587tls应用专用密码Outlooksmtp.office365.com587tls正常密码配置示例QQ 邮箱passbolt:environment:# ... 原有配置 ...EMAIL_TRANSPORT_DEFAULT_HOST:smtp.qq.comEMAIL_TRANSPORT_DEFAULT_PORT:465EMAIL_TRANSPORT_DEFAULT_TLS:trueEMAIL_DEFAULT_FROM:123456789qq.comEMAIL_TRANSPORT_DEFAULT_USERNAME:123456789qq.comEMAIL_TRANSPORT_DEFAULT_PASSWORD:你的16位授权码验证邮件功能dockercomposeexecpassboltsu-m-cbin/cake passbolt send_test_email \ --recipient你的邮箱example.com-s/bin/sh www-data配置完成后创建用户时会自动发送激活邮件至用户邮箱。参考链接Passbolt 官方文档Passbolt Docker 镜像说明Docker Compose 官方文档文档版本2026-07-01适用环境Ubuntu Server Docker Compose Passbolt CE