# =============================================================================
# 用途: 建置 release-cleanup Action 的容器映像。
#       以 Node.js 執行環境打包 /app 下的 Node.js 程式 (專案已從 bash 改寫為 Node.js),
#       並透過 entrypoint.sh 啟動。
# 更新日期: 2026/06/26 10:28:36
# =============================================================================

# 基底映像:Node.js 20 的 Alpine 版本 (體積小)。
FROM node:20-alpine

# 複製 Node.js 應用程式(不含測試)
# 先單獨複製 package.json,再複製所有 *.js;有利於 Docker layer 快取。
COPY app/package.json /app/package.json
COPY app/*.js /app/

# 複製容器進入點腳本至根目錄。
COPY entrypoint.sh /entrypoint.sh
# 賦予進入點腳本可執行權限,否則 ENTRYPOINT 無法執行。
RUN chmod +x /entrypoint.sh

# 設定容器啟動時執行的進入點 (內部會 exec node /app/index.js)。
ENTRYPOINT ["/entrypoint.sh"]
