Updated dockerfile and README
This commit is contained in:
+18
-18
@@ -1,8 +1,8 @@
|
|||||||
|
ARG BUILDPLATFORM=$BUILDPLATFORM
|
||||||
FROM --platform=$BUILDPLATFORM golang:1.18 AS psiphon_builder
|
FROM --platform=$BUILDPLATFORM golang:1.18 AS psiphon_builder
|
||||||
WORKDIR /go
|
WORKDIR /go
|
||||||
LABEL stage=builder
|
LABEL stage=builder
|
||||||
ARG VERSION=2.0.23
|
ARG VERSION=2.0.23
|
||||||
ARG BUILDPLATFORM
|
|
||||||
ARG BUILDOS
|
ARG BUILDOS
|
||||||
ARG BUILDARCH
|
ARG BUILDARCH
|
||||||
ARG TARGETS
|
ARG TARGETS
|
||||||
@@ -10,23 +10,23 @@ ENV DIR=/go/src/github.com/Psiphon-Labs/psiphon-tunnel-core \
|
|||||||
GO111MODULE=off \
|
GO111MODULE=off \
|
||||||
CGO_ENABLED=0
|
CGO_ENABLED=0
|
||||||
SHELL ["/bin/bash", "-c"]
|
SHELL ["/bin/bash", "-c"]
|
||||||
RUN TARGET_PALTFORMS=${TARGETS:-"$BUILDOS/$BUILDARCH"}; \
|
RUN TARGET_PALTFORMS=${TARGETS:-"$BUILDOS/$BUILDARCH"}; \
|
||||||
mkdir -p ${DIR} && \
|
mkdir -p ${DIR} && \
|
||||||
curl -sL https://github.com/Psiphon-Labs/psiphon-tunnel-core/archive/refs/tags/v${VERSION}.tar.gz | \
|
curl -sL https://github.com/Psiphon-Labs/psiphon-tunnel-core/archive/refs/tags/v${VERSION}.tar.gz | \
|
||||||
tar xz -C ${DIR} --strip-components=1 && \
|
tar xz -C ${DIR} --strip-components=1 && \
|
||||||
(IFS=','; for PLATFORM in $TARGET_PALTFORMS; \
|
(IFS=','; for PLATFORM in $TARGET_PALTFORMS; \
|
||||||
do \
|
do \
|
||||||
OS=${PLATFORM%%/*} && \
|
OS=${PLATFORM%%/*} && \
|
||||||
ARCH=${PLATFORM#*/} && \
|
ARCH=${PLATFORM#*/} && \
|
||||||
ARCH=${ARCH%/*} && \
|
ARCH=${ARCH%/*} && \
|
||||||
VERSION=${PLATFORM##*/} && \
|
VERSION=${PLATFORM##*/} && \
|
||||||
TARGETVARIANT=${VERSION/$ARCH/} && \
|
TARGETVARIANT=${VERSION/$ARCH/} && \
|
||||||
VERSION=${TARGETVER/v/} && \
|
VERSION=${TARGETVER/v/} && \
|
||||||
GOOS=${OS} GOARCH=${ARCH} go install -a -tags netgo \
|
GOOS=${OS} GOARCH=${ARCH} go install -a -tags netgo \
|
||||||
-ldflags '-w -extldflags "-static"' \
|
-ldflags '-w -extldflags "-static"' \
|
||||||
github.com/Psiphon-Labs/psiphon-tunnel-core/ConsoleClient && \
|
github.com/Psiphon-Labs/psiphon-tunnel-core/ConsoleClient && \
|
||||||
BINARY=$(find /go/bin/* -name "ConsoleClient*") && \
|
BINARY=$(find /go/bin/* -name "ConsoleClient*") && \
|
||||||
mv ${BINARY} /go/psiphon_${OS}_${ARCH}_${TARGETVARIANT}; \
|
mv ${BINARY} /go/psiphon_${OS}_${ARCH}_${TARGETVARIANT}; \
|
||||||
done)
|
done)
|
||||||
|
|
||||||
FROM alpine:3.16.0
|
FROM alpine:3.16.0
|
||||||
|
|||||||
@@ -19,7 +19,7 @@ git clone https://github.com/swarupsengupta2007/psiphon-docker
|
|||||||
3. Build docker image for current platform or multi-arch
|
3. Build docker image for current platform or multi-arch
|
||||||
```bash
|
```bash
|
||||||
# choose target platforms
|
# choose target platforms
|
||||||
TARGETS="linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/arm/v6"
|
TARGETS="linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/arm/v6,linux/ppc64le,linux/s390x"
|
||||||
|
|
||||||
# Create a builder instance
|
# Create a builder instance
|
||||||
sudo docker buildx create --name cross-platform --platform ${TARGETS} --use
|
sudo docker buildx create --name cross-platform --platform ${TARGETS} --use
|
||||||
|
|||||||
Reference in New Issue
Block a user