### 部署要求 1. **使用 podman**(不是 docker) 2. **使用 `podman-compose` 方式部署**,配置文件为 `podman-compose.yml` 和 `.env` 3. 创建名为 `cells-pod` 的 pod,宿主机暴露端口 `8080` 4. MariaDB 和 Cells 容器加入同一个 pod,共享网络命名空间(**不使用 `--network`**) 5. **MariaDB 配置** - 镜像:`docker.io/library/mariadb` - 环境变量从 `.env` 读取:`MYSQL_ROOT_PASSWORD`、`MYSQL_DATABASE`、`CELLS_DB_USER`、`CELLS_DB_PASSWORD` - 数据持久化:`./mariadb_data` - 配置健康检查 6. **Cells 配置** - 镜像:`docker.io/pydio/cells` - 环境变量从 `.env` 读取:`CELLS_SITE_BIND=0.0.0.0:8080`、`CELLS_SITE_EXTERNAL`、`CELLS_SITE_LABEL` - 数据持久化:`./cells_working` - 依赖 MariaDB 健康后再启动 7. 部署完成后**检查容器状态** --- ### 📁 前置准备(确保您的文件就绪) 请确认当前目录下已包含以下两个文件: - `podman-compose.yml`(您之前提供的版本,含数据目录注释) - `.env.example`(环境变量模板) 如果还没有 `.env` 文件,请执行: ```bash cp .env.example .env ``` **然后编辑 `.env` 文件**,填入真实密码和域名(不要留空): ```ini MYSQL_ROOT_PASSWORD=您的强密码 MYSQL_DATABASE=pydiocells CELLS_DB_USER=pydio CELLS_DB_PASSWORD=您的数据库密码 CELLS_EXTERNAL=https://localhost:8080 # 或您的实际域名 CELLS_SITE_LABEL=MyCells HOST_PORT=8080 ``` > ⚠️ `.env` 中的密码请勿包含 `$ & * !` 等特殊字符,避免解析错误。 --- ### 🚀 一键部署命令 ```bash # 创建数据目录(避免权限问题) mkdir -p mariadb_data cells_working # 启动所有服务(自动创建 pod) podman-compose up -d ``` --- ### 🔍 部署后检查 ```bash # 查看 pod 状态 podman pod ps # 查看容器状态 podman ps # 查看日志(确认无报错) podman logs pydio-mariadb podman logs pydio-cells # 测试访问(根据您的 CELLS_EXTERNAL 配置) curl -k https://localhost:8080 ``` 如果一切正常,您会看到 Pydio Cells 的安装向导页面。 --- ### 🧹 停止与清理 ```bash # 停止容器(保留 pod 和数据) podman-compose down # 彻底删除 pod(会同时删除容器) podman pod rm -f cells-pod # 如需清理数据目录(谨慎) rm -rf mariadb_data cells_working ``` --- ### ⚠️ 常见问题快速解决 | 问题 | 解决方法 | | ------------------------------------- | ----------------------------------------------------------------------------------------------- | | `podman-compose: command not found` | 安装:`sudo dnf install podman-compose` 或 `pip install podman-compose` | | 端口 8080 已被占用 | 修改 `.env` 中的 `HOST_PORT`,例如 `HOST_PORT=8081`,并确保 `CELLS_EXTERNAL` 也对应修改 | | Cells 无法连接 MariaDB | 检查 pod 内网络:`podman exec -it pydio-cells ping mariadb`(应能通) | | MariaDB 健康检查一直失败 | 查看日志:`podman logs pydio-mariadb`,等待 30 秒后重试 |