# syntax=docker/dockerfile:1 # Build stage FROM golang:1.21-alpine3.19 AS builder # Instalar dependencias necesarias RUN apk add --no-cache gcc musl-dev sqlite-dev # Establecer el directorio de trabajo WORKDIR /app # Copiar todo el código fuente primero COPY . . # Movernos al directorio de la aplicación golang WORKDIR /app/apps/monitoring # Descargar dependencias RUN go mod download # Compilar la aplicación RUN CGO_ENABLED=1 GOOS=linux go build -o main main.go # Etapa final FROM alpine:3.19 # Instalar SQLite y otras dependencias necesarias RUN apk add --no-cache sqlite-libs docker-cli WORKDIR /app # Copiar el binario compilado y el archivo monitor.go COPY --from=builder /app/apps/monitoring/main ./main COPY --from=builder /app/apps/monitoring/main.go ./monitor.go # COPY --from=builder /app/apps/golang/.env ./.env # Exponer el puerto ENV PORT=3001 EXPOSE 3001 # Ejecutar la aplicación CMD ["./main"]