diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 41bd16b..24c5028 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -29,6 +29,10 @@ jobs: goarch: arm goarm: "7" cgo: 0 + - goos: linux + goarch: mipsle + gomips: softfloat + cgo: 0 - goos: darwin goarch: amd64 cgo: 0 @@ -75,6 +79,7 @@ jobs: env: GOOS: ${{ matrix.goos }} GOARCH: ${{ matrix.goarch }} + GOMIPS: ${{ matrix.gomips }} GOARM: ${{ matrix.goarm }} CGO_ENABLED: ${{ matrix.cgo }} ANDROID_API: ${{ matrix.api }} @@ -112,12 +117,12 @@ jobs: EXT= fi - GOOS=$GOOS GOARCH=$GOARCH GOARM=$GOARM \ + GOOS=$GOOS GOARCH=$GOARCH GOARM=$GOARM GOMIPS=$GOMIPS \ go build -ldflags "-s -w -checklinkname=0" -trimpath \ -o "dist/client-${GOOS}-${GOARCH}${EXT}" \ ./client - - GOOS=$GOOS GOARCH=$GOARCH GOARM=$GOARM \ + + GOOS=$GOOS GOARCH=$GOARCH GOARM=$GOARM GOMIPS=$GOMIPS \ go build -ldflags "-s -w -checklinkname=0" -trimpath \ -o "dist/server-${GOOS}-${GOARCH}${EXT}" \ ./server diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..f3c8350 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,20 @@ +FROM golang:1.25-alpine AS builder + +WORKDIR /build + +COPY . . +RUN CGO_ENABLED=0 go build -ldflags="-s -w" -o vk-turn-proxy ./server + +FROM alpine:3.23 + +RUN apk add --no-cache ca-certificates tzdata + +WORKDIR /app + +COPY docker-entrypoint.sh . +COPY --from=builder /build/vk-turn-proxy . +RUN chmod +x docker-entrypoint.sh + +EXPOSE 56000/udp + +ENTRYPOINT ["./docker-entrypoint.sh"] diff --git a/README.md b/README.md index 8d56e74..4bc5e65 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,19 @@ ``` ./server -listen 0.0.0.0:56000 -connect 127.0.0.1:<порт wg> ``` +#### Docker +Сборка образа: +``` +docker build -t vk-turn-proxy . +``` + +Переменная окружения **CONNECT_ADDR** — адрес WireGuard (обязательный), например `192.168.1.10:51820`. + +Пример запуска: +``` +docker run -p 56000:56000/udp -e CONNECT_ADDR=192.168.1.10:51820 vk-turn-proxy +``` + ### Клиент #### Android diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh new file mode 100644 index 0000000..e67abae --- /dev/null +++ b/docker-entrypoint.sh @@ -0,0 +1,6 @@ +#!/bin/sh +set -e + +CONNECT="${CONNECT_ADDR:?CONNECT_ADDR is required}" + +exec ./vk-turn-proxy -listen 0.0.0.0:56000 -connect "$CONNECT"