forked from mirror/mautrix-discord
dockerfile: initialize
This commit is contained in:
parent
c22c71a831
commit
3540f8a5ca
2 changed files with 57 additions and 0 deletions
21
Dockerfile
Normal file
21
Dockerfile
Normal file
|
@ -0,0 +1,21 @@
|
||||||
|
FROM golang:1-alpine3.15 AS builder
|
||||||
|
|
||||||
|
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-discord
|
||||||
|
|
||||||
|
FROM alpine:3.15
|
||||||
|
|
||||||
|
ENV UID=1337 \
|
||||||
|
GID=1337
|
||||||
|
|
||||||
|
RUN apk add --no-cache ffmpeg su-exec ca-certificates olm bash jq yq curl
|
||||||
|
|
||||||
|
COPY --from=builder /usr/bin/mautrix-discord /usr/bin/mautrix-discord
|
||||||
|
COPY --from=builder /build/example-config.yaml /opt/mautrix-discord/example-config.yaml
|
||||||
|
COPY --from=builder /build/docker-run.sh /docker-run.sh
|
||||||
|
VOLUME /data
|
||||||
|
|
||||||
|
CMD ["/docker-run.sh"]
|
36
docker-run.sh
Executable file
36
docker-run.sh
Executable file
|
@ -0,0 +1,36 @@
|
||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
if [[ -z "$GID" ]]; then
|
||||||
|
GID="$UID"
|
||||||
|
fi
|
||||||
|
|
||||||
|
# Define functions.
|
||||||
|
function fixperms {
|
||||||
|
chown -R $UID:$GID /data
|
||||||
|
|
||||||
|
# /opt/mautrix-discord is read-only, so disable file logging if it's pointing there.
|
||||||
|
if [[ "$(yq e '.logging.directory' /data/config.yaml)" == "./logs" ]]; then
|
||||||
|
yq -I4 e -i '.logging.file_name_format = ""' /data/config.yaml
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
if [[ ! -f /data/config.yaml ]]; then
|
||||||
|
cp /opt/mautrix-discord/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-discord -g -c /data/config.yaml -r /data/registration.yaml
|
||||||
|
echo "Didn't find a registration file."
|
||||||
|
echo "Generated one for you."
|
||||||
|
echo "See https://docs.mau.fi/bridges/general/registering-appservices.html on how to use it."
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
|
||||||
|
cd /data
|
||||||
|
fixperms
|
||||||
|
exec su-exec $UID:$GID /usr/bin/mautrix-discord
|
Loading…
Reference in a new issue