- Backend: Bun + Elysia + Drizzle ORM + PostgreSQL - Frontend: React + Vite + TailwindCSS + Zustand - Auth: better-auth with invite-only system - Features: Tasks, Projects, Sections, Labels, Comments - Hammer API: Dedicated endpoints for AI assistant integration - Unit tests: 24 passing tests - Docker: Compose file for deployment
33 lines
585 B
Docker
33 lines
585 B
Docker
FROM oven/bun:1 as builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy package files
|
|
COPY package.json bun.lock* ./
|
|
|
|
# Install dependencies
|
|
RUN bun install --frozen-lockfile
|
|
|
|
# Copy source
|
|
COPY . .
|
|
|
|
# Production image
|
|
FROM oven/bun:1-slim
|
|
|
|
WORKDIR /app
|
|
|
|
# Copy from builder
|
|
COPY --from=builder /app/node_modules ./node_modules
|
|
COPY --from=builder /app/package.json ./
|
|
COPY --from=builder /app/src ./src
|
|
COPY --from=builder /app/drizzle.config.ts ./
|
|
|
|
# Set environment
|
|
ENV NODE_ENV=production
|
|
ENV PORT=3001
|
|
|
|
EXPOSE 3001
|
|
|
|
# Run migrations and start server
|
|
CMD ["sh", "-c", "bun run db:push && bun run start"]
|