Files
abot/Dockerfile

67 lines
2.0 KiB
Docker
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
FROM python:3.11-slim
ENV DEBIAN_FRONTEND=noninteractive \
PYTHONDONTWRITEBYTECODE=1 \
PYTHONUNBUFFERED=1 \
TZ=Asia/Shanghai
# 仅保留 ABOT 运行所需的系统依赖:
# 1. 不再在应用镜像中内置 MariaDB / Redis避免单容器承载过多职责
# 2. 生产部署交由 docker-compose 管理独立基础设施服务;
# 3. 补充常用字体依赖,降低图片生成与渲染场景中的缺字风险。
RUN apt-get update && apt-get install -y --no-install-recommends \
ca-certificates \
curl \
bash \
tzdata \
ffmpeg \
libgl1 \
libglib2.0-0 \
fonts-noto-cjk \
fonts-noto-color-emoji \
&& rm -rf /var/lib/apt/lists/*
WORKDIR /app
COPY requirements.txt /app/requirements.txt
RUN pip install --no-cache-dir -r /app/requirements.txt
COPY . /app
COPY docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh
RUN chmod +x /usr/local/bin/docker-entrypoint.sh
# 统一使用 ABOT_* 命名作为默认环境变量前缀:
# 1. 与 config.example.yaml 保持一致,降低新用户理解成本;
# 2. WECHAT_* 继续用于生成 wechat_ipad/config.toml
# 3. 默认值仅用于容器首次启动兜底,正式环境建议在 .env 中显式配置。
ENV ABOT_ENVIRONMENT=production \
ABOT_PLUGIN_DIR=plugins \
ABOT_DB_HOST=127.0.0.1 \
ABOT_DB_PORT=3306 \
ABOT_DB_NAME=message_archive \
ABOT_DB_USER=root \
ABOT_DB_PASSWORD= \
ABOT_REDIS_HOST=127.0.0.1 \
ABOT_REDIS_PORT=6379 \
ABOT_REDIS_DB=0 \
ABOT_REDIS_PASSWORD= \
WECHAT_SERVER_URL=http://127.0.0.1:8059/ \
WECHAT_SERVER_IP=127.0.0.1 \
WECHAT_SERVER_PORT=8059 \
WECHAT_SERVER_KEY= \
WECHAT_WXID= \
WECHAT_DEVICE_NAME=ABOTPad \
WECHAT_DEVICE_ID= \
ABOT_DASHBOARD_USERNAME=admin \
ABOT_DASHBOARD_PASSWORD=ChangeThisPassword_2026! \
ABOT_DASHBOARD_SECRET_KEY= \
ABOT_TRENDRADAR_WEBHOOK_TOKEN=please_change_this_token \
DASHBOARD_HOST=0.0.0.0 \
DASHBOARD_PORT=8888
EXPOSE 8888
ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
CMD ["python", "main.py"]