添加:podman-compose和ai部署提示词

This commit is contained in:
2026-04-10 17:47:48 +08:00
parent cf573f0b0f
commit bd9e2197d7
2 changed files with 142 additions and 0 deletions

105
podman-ai.md Normal file
View File

@@ -0,0 +1,105 @@
### 部署要求
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 秒后重试 |

37
podman-compose.yml Normal file
View File

@@ -0,0 +1,37 @@
services:
mariadb:
image: docker.io/library/mariadb:11
container_name: pydio-mariadb
restart: unless-stopped
pod: cells-pod
environment:
MYSQL_ROOT_PASSWORD: ${MYSQL_ROOT_PASSWORD}
MYSQL_DATABASE: ${MYSQL_DATABASE}
MYSQL_USER: ${CELLS_DB_USER}
MYSQL_PASSWORD: ${CELLS_DB_PASSWORD}
volumes:
- ./mariadb_data:/var/lib/mysql
healthcheck:
test: ["CMD", "healthcheck.sh", "--connect", "--innodb_initialized"]
interval: 10s
timeout: 5s
retries: 5
cells:
image: docker.io/pydio/cells:latest
container_name: pydio-cells
restart: unless-stopped
pod: cells-pod
ports:
- "${HOST_PORT}:8080"
environment:
CELLS_SITE_BIND: 0.0.0.0:8080
CELLS_SITE_EXTERNAL: ${CELLS_EXTERNAL}
CELLS_SITE_LABEL: ${CELLS_SITE_LABEL}
volumes:
- ./cells_working:/var/cells
# 数据目录单独挂载(可选)
- ./Storage_data:/var/cells/data
depends_on:
mariadb:
condition: service_healthy