This commit is contained in:
Andrew Ferrazzutti 2024-03-12 15:35:24 +02:00 committed by GitHub
commit fc4b7cb255
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 38 additions and 4 deletions

View file

@ -4,7 +4,15 @@ RUN apk add --no-cache git ca-certificates build-base su-exec olm-dev
COPY . /build
WORKDIR /build
RUN go build -o /usr/bin/mautrix-whatsapp
ARG DBG=0
RUN <<EOF
if [ "$DBG" = 1 ]; then
go install github.com/go-delve/delve/cmd/dlv@latest
else
touch /go/bin/dlv
fi
EOF
RUN ./build.sh -o /usr/bin/mautrix-whatsapp
FROM alpine:3.19
@ -16,6 +24,11 @@ RUN apk add --no-cache ffmpeg su-exec ca-certificates olm bash jq yq curl
COPY --from=builder /usr/bin/mautrix-whatsapp /usr/bin/mautrix-whatsapp
COPY --from=builder /build/example-config.yaml /opt/mautrix-whatsapp/example-config.yaml
COPY --from=builder /build/docker-run.sh /docker-run.sh
COPY --from=builder /go/bin/dlv /usr/bin/dlv
VOLUME /data
ARG DBG
ARG DBGWAIT=0
ENV DBG=${DBG} DBGWAIT=${DBGWAIT}
RUN echo "Debug mode: DBG=${DBG} DBGWAIT=${DBGWAIT}"
CMD ["/docker-run.sh"]

View file

@ -4,7 +4,13 @@ RUN apk add --no-cache git ca-certificates build-base su-exec olm-dev bash jq yq
COPY . /build
WORKDIR /build
RUN go build -o /whatsapp
ARG DBG=0
if [ "$DBG" = 1 ]; then
go install github.com/go-delve/delve/cmd/dlv@latest
else
touch /go/bin/dlv
fi
RUN ./build.sh -o /mautrix-whatsapp
# Setup development stack using gow
RUN go install github.com/mitranim/gow@latest

View file

@ -1,2 +1,7 @@
#!/bin/sh
go build -ldflags "-X main.Tag=$(git describe --exact-match --tags 2>/dev/null) -X main.Commit=$(git rev-parse HEAD) -X 'main.BuildTime=`date '+%b %_d %Y, %H:%M:%S'`'" "$@"
if [ "$DBG" = 1 ]; then
GO_GCFLAGS='all=-N -l'
else
GO_LDFLAGS="-s -w ${GO_LDFLAGS}"
fi
go build -gcflags="$GO_GCFLAGS" -ldflags="-X main.Tag=$(git describe --exact-match --tags 2>/dev/null) -X main.Commit=$(git rev-parse HEAD) -X 'main.BuildTime=`date '+%b %_d %Y, %H:%M:%S'`'" "$@"

View file

@ -33,4 +33,14 @@ fi
cd /data
fixperms
exec su-exec $UID:$GID /usr/bin/mautrix-whatsapp
EXE=/usr/bin/mautrix-whatsapp
DLV=/usr/bin/dlv
if [ -x "$DLV" ]; then
if [ "$DBGWAIT" != 1 ]; then
NOWAIT=1
fi
EXE="${DLV} exec ${EXE} ${NOWAIT:+--continue --accept-multiclient} --api-version 2 --headless -l :4040"
fi
exec su-exec $UID:$GID $EXE