首页
/ Passbolt Docker 项目使用教程

Passbolt Docker 项目使用教程

2024-08-10 16:38:08作者:明树来

1. 项目的目录结构及介绍

Passbolt Docker 项目的目录结构如下:

passbolt_docker/
├── docker-compose/
│   ├── docker-compose-ce.yaml
│   └── ...
├── Dockerfile
├── entrypoint.sh
├── README.md
└── ...

目录结构介绍

  • docker-compose/: 包含用于启动 Passbolt 的 Docker Compose 文件,如 docker-compose-ce.yaml
  • Dockerfile: 用于构建 Passbolt Docker 镜像的 Dockerfile。
  • entrypoint.sh: 容器的入口点脚本,用于初始化和启动 Passbolt。
  • README.md: 项目的主文档,包含项目的介绍、使用说明等。

2. 项目的启动文件介绍

docker-compose-ce.yaml

docker-compose-ce.yaml 是用于启动 Passbolt 社区版(CE)的 Docker Compose 文件。它定义了 Passbolt 服务及其依赖的数据库服务。

version: '3.7'
services:
  db:
    image: mariadb:10.3
    environment:
      MYSQL_ROOT_PASSWORD: ${DATASOURCES_DEFAULT_PASSWORD}
      MYSQL_DATABASE: ${DATASOURCES_DEFAULT_DATABASE}
      MYSQL_USER: ${DATASOURCES_DEFAULT_USERNAME}
      MYSQL_PASSWORD: ${DATASOURCES_DEFAULT_PASSWORD}
    volumes:
      - db_data:/var/lib/mysql
  passbolt:
    image: passbolt/passbolt:latest
    environment:
      DATASOURCES_DEFAULT_HOST: db
      DATASOURCES_DEFAULT_PASSWORD: ${DATASOURCES_DEFAULT_PASSWORD}
      DATASOURCES_DEFAULT_USERNAME: ${DATASOURCES_DEFAULT_USERNAME}
      DATASOURCES_DEFAULT_DATABASE: ${DATASOURCES_DEFAULT_DATABASE}
    volumes:
      - passbolt_data:/var/lib/passbolt
    depends_on:
      - db
volumes:
  db_data:
  passbolt_data:

entrypoint.sh

entrypoint.sh 是 Passbolt 容器的入口点脚本。它负责初始化环境变量、配置文件和启动 Passbolt 服务。

#!/bin/bash
set -e

# 初始化 GPG 密钥
/usr/share/php/passbolt/bin/cake passbolt gpg_init

# 启动 Passbolt
/usr/sbin/php-fpm7 -F

3. 项目的配置文件介绍

Dockerfile

Dockerfile 用于构建 Passbolt Docker 镜像。它定义了基础镜像、安装依赖、复制文件等步骤。

FROM php:7.4-fpm

# 安装依赖
RUN apt-get update && apt-get install -y \
    libmariadb-dev \
    gnupg2 \
    && docker-php-ext-install pdo_mysql

# 复制文件
COPY . /var/www/passbolt

# 设置工作目录
WORKDIR /var/www/passbolt

# 暴露端口
EXPOSE 80

# 启动脚本
ENTRYPOINT ["/var/www/passbolt/entrypoint.sh"]

.env 文件

.env 文件用于定义环境变量,这些变量在 docker-compose-ce.yaml 中被引用。

DATASOURCES_DEFAULT_PASSWORD=secret
DATASOURCES_DEFAULT_USERNAME=passbolt
DATASOURCES_DEFAULT_DATABASE=passbolt

通过以上配置文件和启动文件,可以快速启动和配置 Passbolt Docker 环境。

登录后查看全文
热门项目推荐
相关项目推荐