添加:podman-compose和ai部署提示词
This commit is contained in:
105
podman-ai.md
Normal file
105
podman-ai.md
Normal 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
37
podman-compose.yml
Normal 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
|
||||||
Reference in New Issue
Block a user