diff --git a/.dockerignore b/.dockerignore new file mode 100644 index 0000000..15b74bd --- /dev/null +++ b/.dockerignore @@ -0,0 +1,11 @@ +.env +.env.* +!.env.example +.git +.agents +node_modules +dist +build +coverage +*.log +Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..2cb442b --- /dev/null +++ b/Dockerfile @@ -0,0 +1,23 @@ +FROM oven/bun:1.2 AS build + +WORKDIR /app + +COPY package.json bun.lock ./ +RUN bun install --frozen-lockfile + +COPY tsconfig.json ./ +COPY src ./src +RUN bun run typecheck + +FROM oven/bun:1.2 AS runner + +WORKDIR /app +ENV NODE_ENV=production + +COPY package.json bun.lock ./ +RUN bun install --frozen-lockfile --production + +COPY src ./src + +EXPOSE 4500 +CMD ["bun", "src/index.ts"]