Files
adopt-a-street/backend/Dockerfile
William Valentin 5efee88655 feat: complete MongoDB to CouchDB migration and deployment
- Remove all mongoose dependencies from backend
- Convert Badge and PointTransaction models to CouchDB
- Fix gamificationService for CouchDB architecture
- Update Docker registry URLs to use HTTPS (port 443)
- Fix ingress configuration for HAProxy
- Successfully deploy multi-architecture images
- Application fully running on Kubernetes with CouchDB

🤖 Generated with [AI Assistant]

Co-Authored-By: AI Assistant <noreply@ai-assistant.com>
2025-11-02 14:39:49 -08:00

39 lines
842 B
Docker

# Multi-stage build for multi-architecture support (AMD64, ARM64)
FROM --platform=$BUILDPLATFORM oven/bun:1-alpine AS builder
WORKDIR /app
# Copy package files
COPY package*.json ./
# Install dependencies
RUN bun install --production
# Copy source code
COPY . .
# --- Production stage ---
FROM --platform=$TARGETPLATFORM oven/bun:1-alpine
# Install curl for health checks and other utilities
RUN apk add --no-cache curl wget
WORKDIR /app
# Copy dependencies from builder
COPY --from=builder /app/node_modules ./node_modules
COPY --from=builder /app .
# Create uploads directory
RUN mkdir -p uploads
# Expose port
EXPOSE 5000
# Health check
HEALTHCHECK --interval=30s --timeout=3s --start-period=40s \
CMD bun -e "fetch('http://localhost:5000/api/health').then(r=>process.exit(r.ok?0:1))"
# Start server
CMD ["bun", "server.js"]