fix: 增強 headless 環境支援

- 添加 QT_QPA_PLATFORM=offscreen 環境變數
- 添加 DISPLAY=:99 環境變數
- Calibre 轉換器使用 xvfb-run 包裝
- 添加 CALIBRE_USE_SYSTEM_THEME=0

確保 Qt/GTK 應用在無 display 環境下運作
This commit is contained in:
Your Name 2026-01-23 11:59:47 +08:00
parent 0d0c0025fb
commit e084d68b95
2 changed files with 29 additions and 2 deletions

View file

@ -588,8 +588,15 @@ EXPOSE 3000/tcp
# ==============================================================================
# 環境變數
# ==============================================================================
# Calibre 需要
# Headless 環境設定(解決 GTK/Qt 在無 DISPLAY 環境的問題)
# ⚠️ 某些 GUI 工具Inkscape、Calibre、LibreOffice需要這些設定
ENV QT_QPA_PLATFORM="offscreen"
ENV DISPLAY=":99"
# Calibre 需要(禁用 Chromium sandboxDocker 環境無法使用)
ENV QTWEBENGINE_CHROMIUM_FLAGS="--no-sandbox"
ENV CALIBRE_USE_SYSTEM_THEME="0"
# Pandoc PDF 引擎(使用 pdflatex 以獲得最佳相容性)
ENV PANDOC_PDF_ENGINE=pdflatex
# Node 環境