Some checks are pending
CD Pipeline / deploy (push) Waiting to run
技術債清零 (2026-04-19): - migrations/010: ai_insights 補 decay_exempt/avg_quality/status/ai_model/feedback 欄位 - migrations/011: embedding_retry_queue 持久化表 (ADR-009) - migrations/012: backup_log 備份記錄表 - services/openclaw_learning_service: 記憶體 Queue → DB retry queue,時間衰減 RAG - services/nemoton_dispatcher_service: 三個 tool 強制雙寫 ai_insights (_sink_insight_to_km) - services/import_service: Excel 前置欄位防禦(商品名稱類 + 業績金額類) - services/ollama_service: generate_embedding 新增 EMBEDDING_HOST env,embedding 永遠走 192.168.0.111 - SYSTEM_VERSION: V9.4 → V10.3 DB 備份機制: - scripts/pg_backup.sh: host-level pg_dump 備份腳本,cron 每日 02:00,保留 7 天,Telegram 通知 - services/db_backup_service.py: Python 備份 service,寫入 backup_log - scheduler: run_db_backup_task (02:00) + run_backup_monitor_task (每 6h AI Agent 監控) - Dockerfile: 加入 postgresql-client 文件: - CLAUDE.md: 環境架構依 ADR-008 實地重寫,含完整 SSH/Docker 部署 SOP - PROJECT_CONSTITUTION.md: 內容已整合入 CLAUDE.md,刪除重複檔案 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
69 lines
1.7 KiB
Docker
69 lines
1.7 KiB
Docker
FROM python:3.11-slim
|
||
|
||
# 設定工作目錄
|
||
WORKDIR /app
|
||
|
||
# 安裝系統依賴 (包含 PostgreSQL 客戶端庫 + Chrome/Selenium 依賴)
|
||
# 注意:Debian Trixie 已移除 libgconf-2-4,改用 libglib2.0-0
|
||
RUN apt-get update && apt-get install -y \
|
||
gcc \
|
||
g++ \
|
||
curl \
|
||
libpq-dev \
|
||
postgresql-client \
|
||
# Chrome/Selenium 依賴
|
||
wget \
|
||
gnupg \
|
||
unzip \
|
||
libnss3 \
|
||
libglib2.0-0 \
|
||
libfontconfig1 \
|
||
libx11-xcb1 \
|
||
libasound2t64 \
|
||
libatk1.0-0 \
|
||
libatk-bridge2.0-0 \
|
||
libcups2 \
|
||
libdrm2 \
|
||
libgbm1 \
|
||
libgtk-3-0 \
|
||
libxcomposite1 \
|
||
libxdamage1 \
|
||
libxrandr2 \
|
||
xdg-utils \
|
||
fonts-liberation \
|
||
libappindicator3-1 || true \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
# 安裝 Chrome (使用新版 GPG 金鑰管理方式,apt-key 已被移除)
|
||
RUN mkdir -p /etc/apt/keyrings \
|
||
&& wget -q -O /etc/apt/keyrings/google-chrome.asc https://dl.google.com/linux/linux_signing_key.pub \
|
||
&& echo "deb [arch=amd64 signed-by=/etc/apt/keyrings/google-chrome.asc] http://dl.google.com/linux/chrome/deb/ stable main" > /etc/apt/sources.list.d/google-chrome.list \
|
||
&& apt-get update \
|
||
&& apt-get install -y google-chrome-stable \
|
||
&& rm -rf /var/lib/apt/lists/*
|
||
|
||
# 複製 requirements
|
||
COPY requirements.txt .
|
||
|
||
# 安裝 Python 依賴
|
||
RUN pip install --no-cache-dir -r requirements.txt
|
||
|
||
# 複製應用程式
|
||
COPY . .
|
||
|
||
# 建立必要的目錄
|
||
RUN mkdir -p data logs backups
|
||
|
||
# 確保 components symlink 正確(根目錄頁面需要此路徑)
|
||
RUN rm -rf /app/components && ln -sf /app/templates/components /app/components
|
||
|
||
# 設定環境變數
|
||
ENV PYTHONUNBUFFERED=1
|
||
ENV FLASK_APP=app.py
|
||
|
||
# 暴露端口
|
||
EXPOSE 5000
|
||
|
||
# 啟動應用
|
||
CMD ["python", "app.py"]
|