# Go Chat Bridge Dockerfile
FROM golang:1.22-alpine AS builder
WORKDIR /app
# Сначала только зависимости — этот слой кэшируется, пока не меняются go.mod/go.sum
COPY go.mod go.sum ./
RUN go mod download
# Код копируем отдельно — любое изменение .go пересобирает бинарник
# Версию можно задать: docker build --build-arg VERSION=1.0.0
ARG VERSION=dev
COPY *.go ./
RUN BUILD_DATE=$(date -u +%Y-%m-%dT%H:%M:%SZ) && \
    go build -ldflags "-X main.Version=${VERSION} -X main.BuildDate=$BUILD_DATE" -o chat-bridge .

FROM alpine:latest
WORKDIR /app
COPY --from=builder /app/chat-bridge .

# Переменные окружения (можно задать через docker run -e ...)
ENV TELEGRAM_TOKEN=""
ENV DISCORD_TOKEN=""
ENV VK_TOKEN=""
ENV TELEGRAM_CHAT_ID=""
ENV DISCORD_CHANNEL_ID=""
ENV VK_PEER_ID=""
ENV VK_GROUP_ID=""
ENV MAX_TOKEN=""
ENV MAX_CHAT_ID=""
ENV MAX_USE_WEBHOOK=""
ENV MAX_WEBHOOK_SECRET=""
ENV SITE_API_URL=""
ENV SITE_API_TOKEN=""
ENV WEBHOOK_API_KEY=""
ENV PUBLIC_URL=""
ENV MEDIA_PROXY_SECRET=""

CMD ["./chat-bridge"]
