Files
turn-bridge/Dockerfile
T

40 lines
1.3 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
RUN apk add --no-cache ca-certificates ffmpeg python3 py3-pip \
&& pip3 install --break-system-packages --no-cache-dir yt-dlp \
&& yt-dlp --version
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"]