worst-analytics-ever/Dockerfile

26 lines
555 B
Docker

FROM oven/bun:alpine AS deps
WORKDIR /app
COPY package.json bun.lock* ./
RUN bun install --production
FROM oven/bun:alpine
WORKDIR /app
COPY package.json bun.lock* ./
RUN bun install --production
COPY --from=deps /app/node_modules/geoip-lite/data ./node_modules/geoip-lite/data
COPY src ./src
COPY tsconfig.json ./
ENV NODE_ENV=production \
PORT=8080
EXPOSE 8080
HEALTHCHECK --interval=30s --timeout=3s --start-period=10s --retries=3 \
CMD wget -qO- http://localhost:${PORT}/metrics >/dev/null || exit 1
CMD ["bun", "run", "src/server.ts"]