Add untested dockerfile

This commit is contained in:
Tulir Asokan 2018-10-17 21:17:15 +03:00
parent c342dc225f
commit f94638a937
2 changed files with 48 additions and 0 deletions

20
Dockerfile Normal file
View file

@ -0,0 +1,20 @@
FROM docker.io/alpine:3.8
ENV UID=1338 \
GID=1338
COPY . /opt/maubot
WORKDIR /opt/maubot
RUN apk add --no-cache \
python3-dev \
build-base \
py3-aiohttp \
py3-sqlalchemy \
py3-attrs \
ca-certificates \
su-exec \
&& pip3 install -r requirements.txt -r optional-requirements.txt
VOLUME /data
CMD ["/opt/mautrix-telegram/docker-run.sh"]

28
docker-run.sh Normal file
View file

@ -0,0 +1,28 @@
#!/bin/sh
# Define functions.
function fixperms {
chown -R $UID:$GID /data /opt/maubot
}
cd /opt/maubot
# Replace database path in config.
sed -i "s#sqlite:///maubot.db#sqlite:////data/maubot.db#" /data/config.yaml
sed -i "s#- ./plugins#- /data/plugins#" /data/config.yaml
# Check that database is in the right state
alembic -x config=/data/config.yaml upgrade head
if [ ! -f /data/config.yaml ]; then
cp 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."
fixperms
exit
fi
fixperms
exec su-exec $UID:$GID python3 -m maubot -c /data/config.yaml