Public Access
37 lines
1.1 KiB
Docker
37 lines
1.1 KiB
Docker
# 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"]
|