11 Commits
4 changed files with 38 additions and 5 deletions
+4 -2
View File
@@ -1,8 +1,9 @@
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
LABEL stage=builder
ARG VERSION=2.0.23
ARG BUILDOS
ARG BUILDARCH
ARG TARGETS
@@ -37,4 +38,5 @@ COPY base/ /
COPY psiphon.config ${DEF_DEFAULTS}
COPY --from=psiphon_builder /go/psiphon_${TARGETOS}_${TARGETARCH}_${TARGETVARIANT} ${DEF_APP}/psiphon
EXPOSE 8080 1080
HEALTHCHECK --interval=30s --timeout=5s --start-period=2m --retries=3 CMD netstat -ltn|grep 1080 || exit 1
VOLUME /config
+15
View File
@@ -34,6 +34,21 @@ docker buildx build --build-arg TARGETS=${TARGETS} -t <your_username>/<your_tag>
--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-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
+10 -3
View File
@@ -1,6 +1,13 @@
#!/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"}
MK_VERSION=${VERSION:-2.0.31}
MK_GO_VERSION=${GO_VERSION:-1.22.7}
sudo docker buildx build --build-arg TARGETS=${TARGETS} -t swarupsengupta2007/psiphon:2.0.23 \
-t swarupsengupta2007/psiphon:latest --platform ${TARGETS} . $1
sudo docker buildx build \
--build-arg TARGETS=${MK_TARGETS} \
--build-arg VERSION=${MK_VERSION} \
--build-arg GO_VERSION=${MK_GO_VERSION} \
-t swarupsengupta2007/psiphon:${MK_VERSION} \
-t swarupsengupta2007/psiphon:latest \
--platform ${MK_TARGETS} . $1