26 lines
555 B
Docker
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"]
|