wordpress / README.md
CatPtain's picture
Upload README.md
a1b4689 verified
|
raw
history blame
5.47 kB
---
title: WordPress with SQLite
emoji: 🌐
colorFrom: blue
colorTo: purple
sdk: docker
sdk_version: "4.0"
app_file: app.py
pinned: false
---
# WordPress with SQLite for Hugging Face Spaces
这是一个专为 Hugging Face Spaces 设计的 WordPress 项目,使用 SQLite 数据库和 GitHub 自动备份功能。
## 🚀 快速部署到 Hugging Face Space
### 1. 创建 Hugging Face Space
1. 访问 [Hugging Face Spaces](https://huggingface.co/spaces)
2. 点击 "Create new Space"
3. 选择以下配置:
- **SDK**: `Docker`
- **Hardware**: `CPU basic` (推荐) 或更高
- **Visibility**: 根据需要选择
### 2. 上传项目文件
将以下文件上传到你的 Space:
```
Dockerfile
app.py
requirements.txt
config/wp_php.ini
.dockerignore (可选)
spaces.yml (可选)
```
### 3. 配置环境变量 (可选 - 用于GitHub备份)
在 Space 的 Settings 页面添加以下环境变量:
- `GITHUB_TOKEN`: 你的 GitHub Personal Access Token
- `GITHUB_REPO`: GitHub 仓库路径 (格式: `username/repository-name`)
#### 创建 GitHub Token:
1. 访问 GitHub Settings > Developer settings > Personal access tokens
2. 创建新 token,需要以下权限:
- `repo` (完整仓库访问权限)
- `contents:write` (写入仓库内容)
#### 准备 GitHub 仓库:
1. 创建一个新的 GitHub 仓库用于存储备份
2. 在仓库中创建 `backups` 文件夹
### 4. 启动 Space
保存设置后,Space 会自动构建和启动。首次构建需要 5-10 分钟。
## 🏠 本地开发部署
如果你想在本地开发环境中运行此项目:
### 使用 Docker Compose
```bash
# 克隆或下载项目
git clone <your-repo-url>
cd wordpress-docker-compose-master
# 构建并启动
docker-compose up --build
# 或者在后台运行
docker-compose up -d --build
```
### 使用 Docker 直接构建
```bash
# 构建镜像
docker build -t wordpress-sqlite .
# 运行容器
docker run -p 7860:7860 wordpress-sqlite
```
### 本地开发配置
- 数据持久化:使用 Docker volumes 保存数据
- 主题开发:可以挂载本地主题目录
- 插件开发:可以挂载本地插件目录
- 配置文件:可以修改 `config/wp_php.ini`
## 🔧 功能特性
### ✅ SQLite 数据库
- 无需外部数据库服务
- 数据存储在 `/var/www/html/wp-content/database/`
- 自动配置 SQLite Integration 插件
### ✅ GitHub 自动备份
- **启动时恢复**: Space 重启时自动从 GitHub 加载最近 30 天的备份
- **手动备份**: 可以手动运行备份脚本
- **备份内容**: SQLite 数据库 + 上传文件
### ✅ Hugging Face Space 优化
- 端口 7860 (HF Space 标准端口)
- 内存优化配置
- 健康检查支持
## 📖 使用说明
### 访问 WordPress
**Hugging Face Space:**
- **前台**: `https://your-space-name.hf.space/`
- **后台**: `https://your-space-name.hf.space/wp-admin/`
**本地开发:**
- **前台**: `http://localhost:7860/`
- **后台**: `http://localhost:7860/wp-admin/`
### 初次设置
1. 访问你的 Space URL
2. 按照 WordPress 安装向导完成设置
3. 创建管理员账户
4. 开始使用 WordPress
### 手动备份到 GitHub
如果配置了 GitHub 环境变量,可以手动创建备份:
```bash
# 在 Space 的终端中运行
/usr/local/bin/backup-wordpress.sh
```
## 🔍 故障排除
### 1. Space 无法启动
- 检查 Dockerfile 语法
- 确认端口设置为 7860
- 查看构建日志中的错误信息
### 2. WordPress 显示 403 错误
- 等待容器完全启动 (1-2 分钟)
- 检查健康检查状态
- 确认 SQLite 插件正确安装
### 3. GitHub 备份失败
- 验证 `GITHUB_TOKEN``GITHUB_REPO` 环境变量
- 确认 GitHub Token 有正确权限
- 检查仓库中是否存在 `backups` 文件夹
### 4. 数据丢失
- Space 重启时会自动尝试从 GitHub 恢复备份
- 手动恢复:将备份文件解压到相应目录
## 📁 项目结构
```
.
├── Dockerfile # Docker 构建文件 (HF Space)
├── app.py # HF Space 入口文件
├── requirements.txt # Python 依赖 (HF Space)
├── spaces.yml # HF Space 配置
├── README.md # 项目说明
├── DEPLOYMENT_GUIDE.md # 部署指南
├── docker-compose.yml # Docker Compose (SQLite)
├── docker-compose.local.yml # 本地开发配置
├── docker-compose.mysql.yml # MySQL 版本 (备份)
├── config/
│ ├── wp_php.ini # PHP 配置
│ └── pma_php.ini # phpMyAdmin 配置 (MySQL版本)
├── .dockerignore # Docker 忽略文件
└── env.example # 环境变量示例 (MySQL版本)
```
## 🔒 安全注意事项
1. **GitHub Token 安全**:
- 使用最小权限原则
- 定期轮换 Token
- 不要在代码中硬编码 Token
2. **WordPress 安全**:
- 使用强密码
- 定期更新 WordPress 和插件
- 限制管理员访问
3. **备份安全**:
- 备份仓库设为私有
- 定期检查备份完整性
## 📝 更新日志
- **v1.0.0**: 初始版本,支持 SQLite 和 GitHub 备份
## 🤝 贡献
欢迎提交 Issue 和 Pull Request!
## 📄 许可证
本项目采用 MIT 许可证。详见 [LICENSE](LICENSE) 文件。
---
**注意**: 这是一个为 Hugging Face Spaces 特别优化的 WordPress 部署方案。如果你需要在其他平台部署,可能需要调整配置。