wordpress / README.md
CatPtain's picture
Upload README.md
a1b4689 verified
|
raw
history blame
5.47 kB
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

  1. 访问 Hugging Face 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

# 克隆或下载项目
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/

初次设置

  1. 访问你的 Space URL
  2. 按照 WordPress 安装向导完成设置
  3. 创建管理员账户
  4. 开始使用 WordPress

手动备份到 GitHub

如果配置了 GitHub 环境变量,可以手动创建备份:

# 在 Space 的终端中运行
/usr/local/bin/backup-wordpress.sh

🔍 故障排除

1. Space 无法启动

  • 检查 Dockerfile 语法
  • 确认端口设置为 7860
  • 查看构建日志中的错误信息

2. WordPress 显示 403 错误

  • 等待容器完全启动 (1-2 分钟)
  • 检查健康检查状态
  • 确认 SQLite 插件正确安装

3. GitHub 备份失败

  • 验证 GITHUB_TOKENGITHUB_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 文件。


注意: 这是一个为 Hugging Face Spaces 特别优化的 WordPress 部署方案。如果你需要在其他平台部署,可能需要调整配置。