31 lines
554 B
Docker
31 lines
554 B
Docker
# Stage 1: Compila el binario
|
|
FROM golang:1.24-alpine AS builder
|
|
|
|
WORKDIR /app
|
|
|
|
# Copiar módulos primero (cache)
|
|
COPY go.mod go.sum ./
|
|
RUN go mod download
|
|
|
|
# Copiar todo y compilar
|
|
COPY . .
|
|
RUN go build -o go-sync-service ./cmd/go-sync-service
|
|
|
|
# Stage 2: Imagen final mínima
|
|
FROM alpine:latest
|
|
|
|
WORKDIR /root/
|
|
COPY --from=builder /app/go-sync-service .
|
|
|
|
COPY .env .env
|
|
|
|
|
|
ENV TZ=America/La_Paz
|
|
RUN ln -snf /usr/share/zoneinfo/$TZ /etc/localtime && echo $TZ > /etc/timezone
|
|
|
|
# Puerto si lo usas
|
|
EXPOSE 9100
|
|
|
|
# Ejecutar binario
|
|
CMD ["./go-sync-service"]
|