Explorar el Código

Add Dockerfile

Tulir Asokan hace 6 años
padre
commit
070fe72f3e
Se han modificado 2 ficheros con 37 adiciones y 0 borrados
  1. 16 0
      Dockerfile
  2. 21 0
      docker-run.sh

+ 16 - 0
Dockerfile

@@ -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 - 0
docker-run.sh

@@ -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