9 Commits
4 changed files with 36 additions and 8 deletions
+4 -2
View File
@@ -1,8 +1,9 @@
ARG BUILDPLATFORM=$BUILDPLATFORM ARG BUILDPLATFORM=$BUILDPLATFORM
FROM --platform=$BUILDPLATFORM golang:1.18 AS psiphon_builder ARG GO_VERSION=$GO_VERSION
ARG VERSION=$VERSION
FROM --platform=$BUILDPLATFORM golang:$GO_VERSION AS psiphon_builder
WORKDIR /go WORKDIR /go
LABEL stage=builder LABEL stage=builder
ARG VERSION=2.0.23
ARG BUILDOS ARG BUILDOS
ARG BUILDARCH ARG BUILDARCH
ARG TARGETS ARG TARGETS
@@ -37,4 +38,5 @@ COPY base/ /
COPY psiphon.config ${DEF_DEFAULTS} COPY psiphon.config ${DEF_DEFAULTS}
COPY --from=psiphon_builder /go/psiphon_${TARGETOS}_${TARGETARCH}_${TARGETVARIANT} ${DEF_APP}/psiphon COPY --from=psiphon_builder /go/psiphon_${TARGETOS}_${TARGETARCH}_${TARGETVARIANT} ${DEF_APP}/psiphon
EXPOSE 8080 1080 EXPOSE 8080 1080
HEALTHCHECK --interval=30s --timeout=5s --start-period=2m --retries=3 CMD netstat -ltn|grep 1080 || exit 1
VOLUME /config VOLUME /config
+15
View File
@@ -34,6 +34,21 @@ docker buildx build --build-arg TARGETS=${TARGETS} -t <your_username>/<your_tag>
--platform ${TARGETS} . --push --platform ${TARGETS} . --push
``` ```
Or use the helper script make.bash as follows
```bash
# optional, choose targets (defaults to the following list)
export TARGETS="linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/arm/v6"
# optional, choose psiphon version (defaults to the lastest committed docker image)
export VERSION=2.0.30
# optional, choose go version (currently 1.20)
export GO_VERSION=1.20
# run the script
./make.bash
```
Build-args available Build-args available
|build-arg|default|Description| |build-arg|default|Description|
|--|--|--| |--|--|--|
+9
View File
@@ -0,0 +1,9 @@
#!/bin/sh
if test "$1" -eq 256 ; then
e=$((128 + $2))
else
e="$1"
fi
echo "$e" > /run/s6-linux-init-container-results/exitcode
+8 -6
View File
@@ -1,11 +1,13 @@
#!/bin/bash #!/bin/bash
TARGETS="linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/arm/v6" MK_TARGETS=${TARGETS:-"linux/amd64,linux/386,linux/arm64,linux/arm/v7,linux/arm/v6"}
VERSION=2.0.29 MK_VERSION=${VERSION:-2.0.31}
MK_GO_VERSION=${GO_VERSION:-1.22.7}
sudo docker buildx build \ sudo docker buildx build \
--build-arg TARGETS=${TARGETS} \ --build-arg TARGETS=${MK_TARGETS} \
--build-arg VERSION=${VERSION} \ --build-arg VERSION=${MK_VERSION} \
-t swarupsengupta2007/psiphon:${VERSION} \ --build-arg GO_VERSION=${MK_GO_VERSION} \
-t swarupsengupta2007/psiphon:${MK_VERSION} \
-t swarupsengupta2007/psiphon:latest \ -t swarupsengupta2007/psiphon:latest \
--platform ${TARGETS} . $1 --platform ${MK_TARGETS} . $1