- 新增 /admin.html:上傳/刪除範本,HTTP Basic Auth 保護 - Word 預覽改用 LibreOffice PDF 轉換,帶入表單參數即時顯示 - 新增租賃開始/結束年月日、租期年數佔位符支援 - 預覽 loading 遮罩,修正 hidden 被 CSS display:flex 覆蓋的問題 - 左右欄 UI 重構,右欄固定顯示 Word 預覽 - 新增 docker-compose.yml + nginx SSL reverse proxy - admin 密碼改由 ADMIN_PASSWORD 環境變數設定 Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
33 lines
709 B
Docker
33 lines
709 B
Docker
# sudo docker compose up -d --build
|
|
|
|
FROM node:20-bookworm-slim
|
|
|
|
RUN apt-get update \
|
|
&& apt-get install -y --no-install-recommends \
|
|
libreoffice-writer \
|
|
fonts-noto-cjk \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
COPY package*.json ./
|
|
RUN npm ci --omit=dev
|
|
|
|
COPY . .
|
|
|
|
RUN if [ -d fonts ] && ls fonts/*.{ttf,otf,ttc} 2>/dev/null | grep -q .; then \
|
|
mkdir -p /usr/local/share/fonts/custom && \
|
|
cp fonts/*.ttf fonts/*.otf fonts/*.ttc /usr/local/share/fonts/custom/ 2>/dev/null || true && \
|
|
fc-cache -f; \
|
|
fi
|
|
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3001
|
|
ENV TEMPLATE_DIR=/app/templates
|
|
ENV TEMP_DIR=/tmp/rental-contracts
|
|
ENV SOFFICE_BIN=soffice
|
|
|
|
EXPOSE 3001
|
|
|
|
CMD ["npm", "start"]
|