FROM alpine:edge RUN apk add --no-cache \ nodejs \ npm \ docker-cli \ tzdata \ bash WORKDIR /app COPY balance.js . RUN npm install --no-package-lock --omit=dev \ axios \ dockerode \ commander \ && npm cache clean --force # NOTE: running as root so the container can read /var/run/docker.sock. # The balancer is a tiny orchestration script; root here is acceptable. # (If you prefer non-root, see Option B or C.) ENV OFELIA_PORT=8080 \ NODE_ENV=production CMD ["node", "balance.js", "--interval", "60", "--apply"]