3.2 KiB
3.2 KiB
部署要求
- 使用 podman(不是 docker)
- 使用
podman-compose方式部署,配置文件为podman-compose.yml和.env - 创建名为
cells-pod的 pod,宿主机暴露端口8080 - MariaDB 和 Cells 容器加入同一个 pod,共享网络命名空间(不使用
--network) - MariaDB 配置
- 镜像:
docker.io/library/mariadb - 环境变量从
.env读取:MYSQL_ROOT_PASSWORD、MYSQL_DATABASE、CELLS_DB_USER、CELLS_DB_PASSWORD - 数据持久化:
./mariadb_data - 配置健康检查
- 镜像:
- Cells 配置
- 镜像:
docker.io/pydio/cells - 环境变量从
.env读取:CELLS_SITE_BIND=0.0.0.0:8080、CELLS_SITE_EXTERNAL、CELLS_SITE_LABEL - 数据持久化:
./cells_working - 依赖 MariaDB 健康后再启动
- 镜像:
- 部署完成后检查容器状态
📁 前置准备(确保您的文件就绪)
请确认当前目录下已包含以下两个文件:
podman-compose.yml(您之前提供的版本,含数据目录注释).env.example(环境变量模板)
如果还没有 .env 文件,请执行:
cp .env.example .env
然后编辑 .env 文件,填入真实密码和域名(不要留空):
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中的密码请勿包含$ & * !等特殊字符,避免解析错误。
🚀 一键部署命令
# 创建数据目录(避免权限问题)
mkdir -p mariadb_data cells_working
# 启动所有服务(自动创建 pod)
podman-compose up -d
🔍 部署后检查
# 查看 pod 状态
podman pod ps
# 查看容器状态
podman ps
# 查看日志(确认无报错)
podman logs pydio-mariadb
podman logs pydio-cells
# 测试访问(根据您的 CELLS_EXTERNAL 配置)
curl -k https://localhost:8080
如果一切正常,您会看到 Pydio Cells 的安装向导页面。
🧹 停止与清理
# 停止容器(保留 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 秒后重试 |