Ctrl K
ComunidadGuías…

Dockerfile.monitoring

Rama canary · réplica de lectura del repositorio original.

Archivo original ↗Preguntar a KiBot
# syntax=docker/dockerfile:1
# Build stage
FROM golang:1.24-alpine3.22 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"]