Merge pull request #136 from jcgruenhage/docker

Add Dockerfile
This commit is contained in:
Tulir Asokan
2018-05-20 16:10:06 +03:00
committed by GitHub
4 changed files with 73 additions and 0 deletions
+30
View File
@@ -0,0 +1,30 @@
FROM docker.io/alpine:3.7
ENV UID=1337 \
GID=1337
COPY . /opt/mautrixtelegram
RUN apk add --no-cache \
python3-dev \
py3-virtualenv \
build-base \
zlib-dev \
jpeg-dev \
libxslt-dev \
libxml2-dev \
libmagic \
ffmpeg \
bash \
ca-certificates \
su-exec \
s6 \
&& cd /opt/mautrixtelegram \
&& cp -r docker/root/* / \
&& rm docker -rf \
&& virtualenv -p /usr/bin/python3 .venv \
&& source .venv/bin/activate \
&& pip install -r requirements.txt -r optional-requirements.txt
VOLUME /data
CMD ["/bin/s6-svscan", "/etc/s6.d"]
+1
View File
@@ -0,0 +1 @@
#!/bin/sh
+2
View File
@@ -0,0 +1,2 @@
#!/bin/bash
s6-svscanctl -t /etc/s6.d
+40
View File
@@ -0,0 +1,40 @@
#!/bin/bash
# Define functions
function fixperms {
chown -R ${UID}:${GID} /data /opt/mautrixtelegram
}
# Go into env
cd /opt/mautrixtelegram
source .venv/bin/activate
# Replace database path in alembic.ini
sed -i "s#sqlite:///mautrix-telegram.db#sqlite:////data/mautrix-telegram.db#" alembic.ini
sed -i "s#sqlite:///mautrix-telegram.db#sqlite:////data/mautrix-telegram.db#" /data/config.yaml
# Check that database is in the right state
alembic 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
if [[ ! -f /data/registration.yaml ]]; then
python -m mautrix_telegram -g -c /data/config.yaml -r /data/registration.yaml
echo "Didn't find a registration file."
echo "Generated ode for you."
echo "Copy that over to synapses app service directory."
fixperms
exit
fi
fixperms
exec su-exec ${UID}:${GID} python -m mautrix_telegram -c /data/config.yaml