| ADD alpine-minirootfs-3.20.5-x86_64.tar.gz / # buildkit |
| CMD ["/bin/sh"] |
| 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 |
| COPY /usr/local/bin/bun /usr/local/bin/ # buildkit |
| COPY docker-entrypoint.sh /usr/local/bin/ # buildkit |
| RUN |2 BUN_RUNTIME_TRANSPILER_CACHE_PATH=0 BUN_INSTALL_BIN=/usr/local/bin /bin/sh -c addgroup -g 1000 bun && adduser -u 1000 -G bun -s /bin/sh -D bun && ln -s /usr/local/bin/bun /usr/local/bin/bunx && apk add libgcc libstdc++ && 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 |
| RUN /bin/sh -c apk add --no-cache libc6-compat dumb-init tzdata chromium nss freetype harfbuzz ca-certificates ttf-freefont font-noto ffmpeg # buildkit |
| ENV PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD=1 |
| ENV PLAYWRIGHT_CHROMIUM_EXECUTABLE_PATH=/usr/bin/chromium-browser |
| RUN /bin/sh -c addgroup -g 1001 -S nodejs && adduser -S worker -u 1001 -G nodejs # buildkit |
| RUN /bin/sh -c mkdir -p /app/sessions && chown worker:nodejs /app/sessions # buildkit |
| RUN /bin/sh -c mkdir -p /app/client/public/email-thumbnails && chown -R worker:nodejs /app/client # buildkit |
| COPY --chown=worker:nodejs /app/node_modules ./node_modules # buildkit |
| COPY --chown=worker:nodejs worker/ ./worker/ # buildkit |
| COPY --chown=worker:nodejs server/ ./server/ # buildkit |
| COPY --chown=worker:nodejs shared/ ./shared/ # buildkit |
| COPY --chown=worker:nodejs drizzle/ ./drizzle/ # buildkit |
| COPY --chown=worker:nodejs scripts/ ./scripts/ # buildkit |
| COPY --chown=worker:nodejs package.json tsconfig.json drizzle.config.ts ./ # buildkit |
| ENV NODE_ENV=production |
| ENV HEALTH_PORT=3001 |
| ENV TZ=America/Sao_Paulo |
| ARG BUILD_SHA=unknown |
| RUN |1 BUILD_SHA=unknown /bin/sh -c printf '%s\n' "$BUILD_SHA" > /app/BUILD_SHA && chown worker:nodejs /app/BUILD_SHA # buildkit |
| ENV BUILD_SHA=unknown |
| USER worker |
| EXPOSE [3001/tcp] |
| HEALTHCHECK {Test:[CMD-SHELL wget --no-verbose --tries=1 --spider http://localhost:3001/health || exit 1] Interval:30s Timeout:10s StartPeriod:10s StartInterval:0s Retries:3} |
| ENTRYPOINT ["/usr/bin/dumb-init" "--"] |
| CMD ["bun" "run" "worker/index.ts"] |