File size: 2,072 Bytes
17bc34e 5d4c685 17bc34e 8ae613a 5d4c685 8ae613a 17bc34e 5d4c685 17bc34e 9992461 26254e6 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e 5d4c685 17bc34e |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 |
# Hugging Face Spaces WordPress Dockerfile
# 适配单容器部署,使用SQLite数据库,包含自动清理功能
FROM wordpress:6.4-apache
# 设置环境变量
ENV DEBIAN_FRONTEND=noninteractive
ENV WORDPRESS_DB_HOST=localhost
ENV WORDPRESS_DB_NAME=wordpress
ENV WORDPRESS_DB_USER=wordpress
ENV WORDPRESS_DB_PASSWORD=wordpress
ENV PYTHONUNBUFFERED=1
# 安装必要的包和SQLite开发库
RUN apt-get update && apt-get install -y \
sqlite3 \
libsqlite3-dev \
cron \
wget \
unzip \
python3 \
python3-pip \
curl \
&& rm -rf /var/lib/apt/lists/*
# 启用PHP SQLite扩展
RUN docker-php-ext-install pdo_sqlite \
&& docker-php-ext-enable pdo_sqlite
# 下载并安装SQLite Integration插件
RUN cd /tmp && \
wget https://downloads.wordpress.org/plugin/sqlite-database-integration.2.1.5.zip && \
unzip sqlite-database-integration.2.1.5.zip && \
mv sqlite-database-integration /usr/src/wordpress/wp-content/plugins/ && \
rm sqlite-database-integration.2.1.5.zip
# 创建必要的目录
RUN mkdir -p /var/www/html/wp-content/database \
&& mkdir -p /var/log/wordpress \
&& mkdir -p /scripts
# 复制Python应用文件
COPY app.py /app/
COPY requirements.txt /app/
# 安装Python依赖
RUN pip3 install --no-cache-dir -r /app/requirements.txt
# 复制自定义wp-config.php
COPY wp-config.php /usr/src/wordpress/
# 复制监控清理脚本
COPY monitor-cleanup.sh /scripts/
RUN chmod +x /scripts/monitor-cleanup.sh
# 复制启动脚本
COPY start-services.sh /scripts/
RUN chmod +x /scripts/start-services.sh
# 设置cron任务 - 每天凌晨2点执行清理
RUN echo "0 2 * * * /scripts/monitor-cleanup.sh >> /var/log/wordpress/cleanup.log 2>&1" | crontab -
# 暴露端口7860 (Hugging Face Spaces标准端口)
EXPOSE 7860
# 修改Apache配置以使用端口7860
RUN sed -i 's/Listen 80/Listen 7860/' /etc/apache2/ports.conf && \
sed -i 's/:80>/:7860>/' /etc/apache2/sites-available/000-default.conf
# 设置工作目录
WORKDIR /var/www/html
# 启动命令
CMD ["/scripts/start-services.sh"] |