docker-compose快速搭建passbolt服务及CA证书的使用(https协议访问)
2023-12-28 11:20:47
1. 服务搭建
- 创建passbolt目录,并进入该目录
- 创建docker-compose.yml 文件,内容如下:
version: '3'
services:
db:
image: mariadb:10.6
container_name: pb-mariadb
restart: unless-stopped
environment:
MYSQL_RANDOM_ROOT_PASSWORD: "true"
MYSQL_DATABASE: "passbolt"
MYSQL_USER: "passbolt"
MYSQL_PASSWORD: "P4ssb0lt"
volumes:
- ./data:/var/lib/mysql
passbolt:
image: passbolt/passbolt:latest-ce
container_name: pb-passbolt
restart: unless-stopped
depends_on:
- db
environment:
APP_FULL_BASE_URL: http://10.10.xxx.xxx:80
DATASOURCES_DEFAULT_HOST: "db"
DATASOURCES_DEFAULT_USERNAME: "passbolt"
DATASOURCES_DEFAULT_PASSWORD: "P4ssb0lt"
DATASOURCES_DEFAULT_DATABASE: "passbolt"
PASSBOLT_REGISTRATION_PUBLIC: "true"
EMAIL_DEFAULT_FROM: "liubei-cto@xishu.com.cn"
EMAIL_TRANSPORT_DEFAULT_HOST: "mail.xishu.com.cn"
EMAIL_TRANSPORT_DEFAULT_PORT: "25"
EMAIL_TRANSPORT_DEFAULT_USERNAME: "liubei-cto@xishu.com.cn"
EMAIL_TRANSPORT_DEFAULT_PASSWORD: "liubei@161"
#EMAIL_TRANSPORT_DEFAULT_TLS: "true"
volumes:
- ./gpg:/etc/passbolt/gpg
- ./jwt:/etc/passbolt/jwt
command: ["/usr/bin/wait-for.sh", "-t", "0", "db:3306", "--", "/docker-entrypoint.sh"]
ports:
- 80:80
- 443:443
- 创建对应的挂载目录
mkdir {data,gpg,jwt}
- 目录权限
chmod 777 gpg jwt
说明:
- 镜像的工作用户不是宿主机的root用户,我们现在并不知道它是谁
- 它需要在gpg和jwt两个目录里写文件,我们此时先给一个777权限
- 容器启动后,我们将看见这个用户写入文件
- 从文件我们可以知道这个用户是谁
- 再将目录的所有者改成这个用户,并把权限给回755或者750
- 启动容器
[root@liubei passbolt]# docker-compose up -d
Creating network "passbolt_default" with the default driver
Creating pb-mariadb ... done
Creating pb-passbolt ... done
[root@liubei passbolt]# docker-compose ps
Name Command State Ports
-----------------------------------------------------------------------------------------------
pb-mariadb docker-entrypoint.sh mariadbd Up 3306/tcp
pb-passbolt /usr/bin/wait-for.sh -t 0 ... Up 0.0.0.0:443->443/tcp, 0.0.0.0:80->80/tcp
- 改回目录权限
- 第4步中我们给了gpg、jwt过高的权限,为了安全,我们需要降低它的权限
- 1)进入gpg目录,查看文件的所有者。如下可知,是id为33的用户
[root@liubei passbolt]# ll gpg/ 总用量 12 -rw-r--r-- 1 33 tape 2456 12月 27 15:14 serverkey.asc -rw-r--r-- 1 33 tape 5091 12月 27 15:14 serverkey_private.as
- 2)修改gpg、jwt的所有者
[root@liubei passbolt]chown 33.33 gpg jwt
- 3)修改权限为755
[root@liubei passbolt]chmod 755 gpg jwt
2. 创建管理员用户
docker exec pb-passbolt su -m -c "bin/cake passbolt register_user -u liubei-cto@xishu.com.cn -f bei -l liu -r admin" -s /bin/sh www-data
- 说明:
- liubei-cto@xishu.com.cn:用户名(有邮箱验证,必须写正确)
- -f :first name
- -l : last name
- 密码在首次登录时,邮箱验证后填写
至此就可以正常使用了,如果需要使用https访问,你可以继续往下看
3. 使用CA认证
- 修改docker-compose.yml 中的
APP_FULL_BASE_URL
值如下:
APP_FULL_BASE_URL: https://10.10.xxx.xxx
- 在docker-compose.yml 中添加挂载证书文件
volumes:
- ./gpg:/etc/passbolt/gpg
- ./jwt:/etc/passbolt/jwt
# 添加下边两行
- ./xishu.com/xishu.com.pem:/etc/ssl/certs/certificate.crt
- ./xishu.com/xishu.com.key:/etc/ssl/certs/certificate.key
xishu.com.pem和xishu.com.key是我得证书文件和密钥,换成你自己的
- 将准备好的证书文件拷贝到对应位置
- 重启服务
docker-compose down
docker-compose up -d
文章来源:https://blog.csdn.net/xingzuo_1840/article/details/135245736
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!