diff --git a/.dockerignore b/.dockerignore index 281bd19..0a2b750 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,12 +1,31 @@ +# Dependencies node_modules -.nuxt +.pnpm-store + +# Build outputs .output .next dist +build + +# Version control .git -.env +.gitignore + +# Environment +.env* +.env.local +.env.*.local + +# Logs +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# System files .DS_Store -npm-debug.log -yarn-debug.log -yarn-error.log -.env.* \ No newline at end of file +Thumbs.db + +# IDE +.idea +.vscode \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 39d240b..a6d2d79 100755 --- a/Dockerfile +++ b/Dockerfile @@ -2,16 +2,14 @@ FROM oven/bun:latest as builder WORKDIR /app -# Copy package.json first +# Copy package files COPY package.json ./ - -# Copy lock files if they exist (support both bun and npm/yarn) COPY bun.lockb* package-lock.json* yarn.lock* ./ # Install dependencies RUN bun install --frozen-lockfile || bun install -# Copy remaining source files +# Copy source files COPY . . # Build the application @@ -22,12 +20,15 @@ FROM oven/bun:latest WORKDIR /app -# Copy built assets and dependencies -COPY --from=builder /app/.output /app/.output -COPY --from=builder /app/dist /app/dist -COPY --from=builder /app/build /app/build +# Copy package files for production COPY --from=builder /app/package.json ./ COPY --from=builder /app/bun.lockb* ./ + +# Conditionally copy build outputs based on framework +COPY --from=builder /app/.output* /app/.output* 2>/dev/null || true +COPY --from=builder /app/dist* /app/dist* 2>/dev/null || true +COPY --from=builder /app/build* /app/build* 2>/dev/null || true +COPY --from=builder /app/.next* /app/.next* 2>/dev/null || true # If you have customized your output directory, please add your custom one here, or just remove it. :) @@ -35,4 +36,6 @@ COPY --from=builder /app/bun.lockb* ./ RUN bun install --production EXPOSE 3000 + +# Start command will be determined by the framework CMD ["bun", "run", "start"] \ No newline at end of file