| # debian.sh --arch 'amd64' out/ 'trixie' '@1787529600' |
| RUN /bin/sh -c apt-get update -qq && apt-get install -qq --no-install-recommends ca-certificates && apt-get clean && rm -rf /var/lib/apt/lists/* # buildkit |
| COPY docker-entrypoint.sh /usr/local/bin # buildkit |
| COPY /usr/local/bin/bun /usr/local/bin/bun # buildkit |
| RUN /bin/sh -c mkdir -p /usr/local/bun-node-fallback-bin && ln -s /usr/local/bin/bun /usr/local/bun-node-fallback-bin/node # buildkit |
| ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/local/bun-node-fallback-bin |
| ARG BUN_RUNTIME_TRANSPILER_CACHE_PATH=0 |
| ENV BUN_RUNTIME_TRANSPILER_CACHE_PATH=0 |
| ARG BUN_INSTALL_BIN=/usr/local/bin |
| ENV BUN_INSTALL_BIN=/usr/local/bin |
| RUN |2 BUN_RUNTIME_TRANSPILER_CACHE_PATH=0 BUN_INSTALL_BIN=/usr/local/bin /bin/sh -c groupadd bun --gid 1000 && useradd bun --uid 1000 --gid bun --shell /bin/sh --create-home && ln -s /usr/local/bin/bun /usr/local/bin/bunx && which bun && which bunx && bun --version # buildkit |
| WORKDIR /home/bun/app |
| ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] |
| CMD ["/usr/local/bin/bun"] |
| WORKDIR /app |
| ENV NODE_ENV=production |
| COPY --chown=bun:bun /app/node_modules ./node_modules # buildkit |
| COPY /app/package.json ./ # buildkit |
| COPY --chown=bun:bun /app/.next ./.next # buildkit |
| COPY /app/public ./public # buildkit |
| COPY /app/next.config.* ./ # buildkit |
| COPY /app/tsconfig.json ./ # buildkit |
| COPY /app/src ./src # buildkit |
| COPY /app/drizzle ./drizzle # buildkit |
| COPY /app/pdq-rs ./pdq-rs # buildkit |
| USER bun |
| EXPOSE [3000/tcp] |
| HEALTHCHECK {Test:[CMD bun -e fetch('http://127.0.0.1:3000/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))] Interval:30s Timeout:5s StartPeriod:40s StartInterval:0s Retries:3} |
| CMD ["bun" "--bun" "src/server.ts"] |