Pull request 195: feat vpn-libs-endpoint: build docker image from pre-built release artifacts using Dockerfile

Squashed commit of the following:

commit 82005f5bf25f3a9568fef439b629a30e8f89335c
Author: Radmir Sadikov <r.sadikov@adguard.com>
Date:   Mon Apr 13 12:57:46 2026 +0400

    add git fetch --tags

commit 34d5fa3965c092a0260269d7f75195429ae5cb1f
Author: Radmir Sadikov <r.sadikov@adguard.com>
Date:   Mon Apr 13 12:47:13 2026 +0400

    use the latest verstion as a tag

commit 0fe0cd5d50d1ce39b62dc09ac66f094b84fddbb5
Author: Radmir Sadikov <r.sadikov@adguard.com>
Date:   Mon Apr 13 10:52:22 2026 +0400

    add Dockerfile.prebuilt

commit 24fbd77bed9d016691fb700e9ff246d05664e042
Author: Radmir Sadikov <r.sadikov@adguard.com>
Date:   Fri Apr 10 17:59:16 2026 +0400

    feat vpn-libs-endpoint: build docker image from pre-built release artifacts using Dockerfile
This commit is contained in:
Radmir Sadikov 2026-04-13 16:55:03 +00:00 committed by Sergey Fionov
parent 5a3a03774d
commit 1189528cb2
2 changed files with 27 additions and 2 deletions

22
Dockerfile.prebuilt Normal file
View file

@ -0,0 +1,22 @@
# syntax=docker/dockerfile:1
FROM debian:bookworm-slim
ARG TT_VERSION
ARG TARGETARCH
ARG TT_RELEASE_BASE_URL="https://github.com/TrustTunnel/TrustTunnel/releases/download"
RUN apt-get update && apt-get install -y --no-install-recommends ca-certificates curl tar iproute2 && rm -rf /var/lib/apt/lists/*
RUN set -eux; \
case "$TARGETARCH" in \
amd64) TT_ARCH="x86_64" ;; \
arm64) TT_ARCH="aarch64" ;; \
*) echo "Unsupported TARGETARCH: $TARGETARCH"; exit 1 ;; \
esac; \
RELEASE_FILE="trusttunnel-v${TT_VERSION}-linux-${TT_ARCH}.tar.gz"; \
curl -fsSL "${TT_RELEASE_BASE_URL}/v${TT_VERSION}/${RELEASE_FILE}" -o /tmp/release.tar.gz; \
mkdir -p /tmp/release; \
tar -xzf /tmp/release.tar.gz -C /tmp/release; \
cp /tmp/release/*/trusttunnel_endpoint /bin/; \
cp /tmp/release/*/setup_wizard /bin/
COPY --chmod=755 /docker-entrypoint.sh /scripts/
WORKDIR /trusttunnel_endpoint
VOLUME /trusttunnel_endpoint/
ENTRYPOINT ["/scripts/docker-entrypoint.sh"]

View file

@ -27,7 +27,9 @@ Build and Push Docker Image:
#!/bin/bash
set -x -e
VERSION=$(cat endpoint/Cargo.toml | grep "version = " | head -n 1 | sed -e 's/version = "\(.*\)"/\1/')
git fetch --unshallow || true
git fetch --force --tags
VERSION=$(git describe --tags --abbrev=0 | sed 's/^v//')
TAG=v${VERSION}
DOCKER_IMAGE_REPO="trusttunnel/trusttunnel-endpoint"
@ -45,8 +47,9 @@ Build and Push Docker Image:
docker buildx create --name trusttunnel-builder --use --config buildkitd.toml || docker buildx use trusttunnel-builder
docker buildx build \
--target trusttunnel-endpoint \
--platform linux/amd64,linux/arm64 \
-f Dockerfile.prebuilt \
--build-arg "TT_VERSION=${VERSION}" \
-t "${DOCKER_IMAGE_VERSION_TAG}" \
-t "${DOCKER_IMAGE_LATEST_TAG}" \
--push .