# ЭТАП 1: Сборка
FROM golang:1.21-alpine AS builder

# Устанавливаем рабочую директорию
WORKDIR /app

# Сначала копируем файлы зависимостей
COPY go.mod ./
COPY go.sum* ./
RUN go mod tidy

# Копируем ВЕСЬ проект (включая папку templates)
COPY . .

# Собираем бинарник
RUN CGO_ENABLED=0 GOOS=linux go build -o /app-binary main.go

# ЭТАП 2: Финальный образ
FROM alpine:latest
RUN apk --no-cache add ca-certificates tzdata
WORKDIR /root/

# Копируем бинарник из корня (как указано в -o выше)
COPY --from=builder /app-binary .

# Копируем папку templates из рабочей директории сборщика (/app)
# Обратите внимание: путь должен совпадать с WORKDIR первого этапа
COPY --from=builder /app/template ./template

EXPOSE 8080
CMD ["./app-binary"]