FROM oven/bun:1 AS base WORKDIR /app COPY package.json bun.lockb* ./ RUN bun install --frozen-lockfile --production COPY src ./src FROM oven/bun:1-distroless AS runtime WORKDIR /app COPY --from=base /app/node_modules ./node_modules COPY --from=base /app/src ./src COPY --from=base /app/package.json ./ VOLUME ["/app/shards", "/app/config"] ENV PORT=3000 ENV SHARD_DIR=/app/shards ENV SCHEMA_PATH=/app/config/schema.json EXPOSE 3000 CMD ["bun", "run", "src/index.ts"]