| |
| |
| |
| FROM node:20-slim AS builder |
|
|
| WORKDIR /app |
|
|
| |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| python3 make g++ gcc \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| COPY package.json ./ |
| RUN npm install --production --no-optional |
|
|
| |
| |
| |
| FROM node:20-slim |
|
|
| WORKDIR /app |
|
|
| |
| RUN apt-get update && apt-get install -y --no-install-recommends \ |
| curl dnsutils \ |
| && rm -rf /var/lib/apt/lists/* |
|
|
| |
| RUN chown -R node:node /app |
|
|
| |
| COPY --from=builder --chown=node:node /app/node_modules ./node_modules |
| COPY --chown=node:node package.json ./ |
| COPY --chown=node:node bot-team.js ./ |
| COPY --chown=node:node aternos-starter.js ./ |
|
|
| USER node |
|
|
| EXPOSE 7860 |
| ENV PORT=7860 |
| ENV NODE_ENV=production |
| ENV NODE_OPTIONS="--max-old-space-size=450" |
|
|
| HEALTHCHECK --interval=30s --timeout=10s --start-period=40s \ |
| CMD curl -sf http://localhost:7860/healthz | grep -q '"status":"ok"' || exit 1 |
|
|
| CMD ["node", "--max-old-space-size=450", "bot-team.js"] |
|
|