# === Этап 1: сборка ===
# Берём образ с компилятором Go, собираем бинарник.
FROM golang:1.26-alpine AS build

WORKDIR /src

# Сначала зависимости (кэш Docker не пересобирает их без изменений go.mod)
COPY go.mod go.sum ./
RUN go mod download

# Потом код
COPY . .

# Статичный бинарник без CGO — удобно класть в маленький alpine
RUN CGO_ENABLED=0 GOOS=linux go build -o /out/bot .

# === Этап 2: запуск ===
# Лёгкий образ только с бинарником (без компилятора).
FROM alpine:3.22

RUN apk add --no-cache ca-certificates tzdata

WORKDIR /app
COPY --from=build /out/bot /app/bot

# Токен НЕ кладём в образ — Coolify передаст BOT_TOKEN как env
ENV BOT_TOKEN=

CMD ["/app/bot"]
