metadata
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
- 访问 Hugging Face Spaces
- 点击 "Create new Space"
- 选择以下配置:
- SDK:
Docker
- Hardware:
CPU basic
(推荐) 或更高 - Visibility: 根据需要选择
- SDK:
2. 上传项目文件
将以下文件上传到你的 Space:
Dockerfile
app.py
requirements.txt
config/wp_php.ini
.dockerignore (可选)
spaces.yml (可选)
3. 配置环境变量 (可选 - 用于GitHub备份)
在 Space 的 Settings 页面添加以下环境变量:
GITHUB_TOKEN
: 你的 GitHub Personal Access TokenGITHUB_REPO
: GitHub 仓库路径 (格式:username/repository-name
)
创建 GitHub Token:
- 访问 GitHub Settings > Developer settings > Personal access tokens
- 创建新 token,需要以下权限:
repo
(完整仓库访问权限)contents:write
(写入仓库内容)
准备 GitHub 仓库:
- 创建一个新的 GitHub 仓库用于存储备份
- 在仓库中创建
backups
文件夹
4. 启动 Space
保存设置后,Space 会自动构建和启动。首次构建需要 5-10 分钟。
🏠 本地开发部署
如果你想在本地开发环境中运行此项目:
使用 Docker Compose
# 克隆或下载项目
git clone <your-repo-url>
cd wordpress-docker-compose-master
# 构建并启动
docker-compose up --build
# 或者在后台运行
docker-compose up -d --build
使用 Docker 直接构建
# 构建镜像
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/
初次设置
- 访问你的 Space URL
- 按照 WordPress 安装向导完成设置
- 创建管理员账户
- 开始使用 WordPress
手动备份到 GitHub
如果配置了 GitHub 环境变量,可以手动创建备份:
# 在 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版本)
🔒 安全注意事项
GitHub Token 安全:
- 使用最小权限原则
- 定期轮换 Token
- 不要在代码中硬编码 Token
WordPress 安全:
- 使用强密码
- 定期更新 WordPress 和插件
- 限制管理员访问
备份安全:
- 备份仓库设为私有
- 定期检查备份完整性
📝 更新日志
- v1.0.0: 初始版本,支持 SQLite 和 GitHub 备份
🤝 贡献
欢迎提交 Issue 和 Pull Request!
📄 许可证
本项目采用 MIT 许可证。详见 LICENSE 文件。
注意: 这是一个为 Hugging Face Spaces 特别优化的 WordPress 部署方案。如果你需要在其他平台部署,可能需要调整配置。