新增管理員頁面、Word PDF 預覽、租賃日期欄位、SSL docker-compose

- 新增 /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>
This commit is contained in:
2026-05-15 23:02:33 +08:00
parent a318c18214
commit 89a4f891c2
17 changed files with 950 additions and 101 deletions

35
docker-compose.yml Normal file
View File

@@ -0,0 +1,35 @@
services:
rental-contract-pdf:
container_name: rental-contract-pdf
image: rental-contract-pdf
build: .
restart: always
expose:
- "3001"
environment:
ADMIN_PASSWORD: "123456"
volumes:
- ./templates:/app/templates
rental-contract-pdf-web:
container_name: rental-contract-pdf-web
build:
context: .
dockerfile: docker/nginx/Dockerfile
image: rental-contract-pdf-web:latest
restart: always
depends_on:
- rental-contract-pdf
ports:
- "3001:3001"
environment:
NGINX_PORT: 3001
NGINX_SERVER_NAME: ${NGINX_SERVER_NAME:-_}
SSL_CERT_DIR: /etc/nginx/certs
SSL_CERT_FILE_NAME: ${SSL_CERT_FILE_NAME:-RSA-cert.pem}
SSL_CHAIN_FILE_NAME: ${SSL_CHAIN_FILE_NAME:-RSA-chain.pem}
SSL_KEY_FILE_NAME: ${SSL_KEY_FILE_NAME:-RSA-privkey.pem}
UPSTREAM_HOST: rental-contract-pdf
UPSTREAM_PORT: 3001
volumes:
- /volume1/homes/JianMiau/www/certificate:/etc/nginx/certs:ro