Add Dockerfile

This commit is contained in:
Tulir Asokan 2018-08-24 23:06:55 +03:00
parent 5f6955d36f
commit 070fe72f3e
2 changed files with 37 additions and 0 deletions

16
Dockerfile Normal file
View file

@ -0,0 +1,16 @@
FROM golang:1-alpine AS builder
RUN apk add --no-cache git ca-certificates
COPY . /go/src/maunium.net/go/mautrix-whatsapp
WORKDIR /go/src/maunium.net/go/mautrix-whatsapp
RUN CGO_ENABLED=0 go get -u maunium.net/go/mautrix-whatsapp && CGO_ENABLED=0 go build -o /usr/bin/mautrix-whatsapp
FROM alpine:latest
COPY --from=builder /usr/bin/mautrix-whatsapp /usr/bin/mautrix-whatsapp
COPY --from=builder /etc/ssl/certs/ /etc/ssl/certs
COPY --from=builder /go/src/maunium.net/go/mautrix-whatsapp/example-config.yaml /opt/mautrix-whatsapp/example-config.yaml
COPY --from=builder /go/src/maunium.net/go/mautrix-whatsapp/docker-run.sh /docker-run.sh
VOLUME /data
CMD ["/docker-run.sh"]

21
docker-run.sh Normal file
View file

@ -0,0 +1,21 @@
#!/bin/sh
if [ ! -f /data/config.yaml ]; then
cp /opt/mautrix-whatsapp/example-config.yaml /data/config.yaml
echo "Didn't find a config file."
echo "Copied default config file to /data/config.yaml"
echo "Modify that config file to your liking."
echo "Start the container again after that to generate the registration file."
exit
fi
if [ ! -f /data/registration.yaml ]; then
/usr/bin/mautrix-whatsapp -g -c /data/config.yaml -r /data/registration.yaml
echo "Didn't find a registration file."
echo "Generated one for you."
echo "Copy that over to synapses app service directory."
exit
fi
cd /data
/usr/bin/mautrix-whatsapp