95 lines
2.7 KiB
Docker
95 lines
2.7 KiB
Docker
FROM docker.io/alpine:3.10 AS lottieconverter
|
|
|
|
WORKDIR /build
|
|
|
|
RUN apk add --no-cache git build-base cmake \
|
|
&& git clone https://github.com/Samsung/rlottie.git \
|
|
&& cd rlottie \
|
|
&& mkdir build \
|
|
&& cd build \
|
|
&& cmake .. \
|
|
&& make -j2 \
|
|
&& make install \
|
|
&& cd ../..
|
|
|
|
RUN apk add --no-cache libpng libpng-dev zlib zlib-dev \
|
|
&& git clone https://github.com/Eramde/LottieConverter.git \
|
|
&& cd LottieConverter \
|
|
&& git checkout 543c1d23ac9322f4f03c7fb6612ea7d026d44ac0 \
|
|
&& make
|
|
|
|
FROM docker.io/alpine:3.11
|
|
|
|
RUN echo "@edge_main http://dl-cdn.alpinelinux.org/alpine/edge/main" >> /etc/apk/repositories
|
|
RUN echo "@edge_testing http://dl-cdn.alpinelinux.org/alpine/edge/testing" >> /etc/apk/repositories
|
|
RUN echo "@edge_community http://dl-cdn.alpinelinux.org/alpine/edge/community" >> /etc/apk/repositories
|
|
|
|
RUN apk add --no-cache \
|
|
py3-virtualenv \
|
|
py3-pillow \
|
|
py3-aiohttp \
|
|
py3-magic \
|
|
py3-sqlalchemy \
|
|
py3-alembic@edge_testing \
|
|
py3-psycopg2 \
|
|
py3-ruamel.yaml \
|
|
py3-commonmark@edge_testing \
|
|
# Indirect dependencies
|
|
py3-idna \
|
|
#moviepy
|
|
py3-decorator \
|
|
py3-tqdm \
|
|
py3-requests \
|
|
#imageio
|
|
py3-numpy \
|
|
#telethon
|
|
py3-rsa \
|
|
# cryptg
|
|
py3-cffi \
|
|
py3-brotli \
|
|
# Other dependencies
|
|
ffmpeg \
|
|
ca-certificates \
|
|
su-exec \
|
|
netcat-openbsd \
|
|
# lottieconverter
|
|
zlib libpng \
|
|
# olm
|
|
olm-dev@edge_community \
|
|
# matrix-nio?
|
|
py3-future \
|
|
py3-atomicwrites \
|
|
py3-pycryptodome@edge_main \
|
|
py3-peewee@edge_community \
|
|
py3-pyrsistent@edge_community \
|
|
py3-jsonschema \
|
|
py3-aiofiles \
|
|
py3-cachetools@edge_community \
|
|
py3-prometheus-client@edge_community \
|
|
py3-unpaddedbase64 \
|
|
py3-pyaes@edge_testing \
|
|
py3-logbook@edge_testing
|
|
|
|
COPY requirements.txt /opt/mautrix-telegram/requirements.txt
|
|
COPY optional-requirements.txt /opt/mautrix-telegram/optional-requirements.txt
|
|
WORKDIR /opt/mautrix-telegram
|
|
RUN apk add --virtual .build-deps \
|
|
python3-dev \
|
|
libffi-dev \
|
|
build-base \
|
|
&& sed -Ei 's/psycopg2-binary.+//' optional-requirements.txt \
|
|
&& pip3 install -r requirements.txt -r optional-requirements.txt \
|
|
&& apk del .build-deps
|
|
|
|
COPY . /opt/mautrix-telegram
|
|
RUN apk add git && pip3 install .[speedups,hq_thumbnails,metrics,e2be] && apk del git
|
|
|
|
COPY --from=lottieconverter /usr/lib/librlottie* /usr/lib/
|
|
COPY --from=lottieconverter /build/LottieConverter/dist/Debug/GNU-Linux/lottieconverter /usr/local/bin/lottieconverter
|
|
|
|
VOLUME /data
|
|
ENV UID=1337 GID=1337 \
|
|
FFMPEG_BINARY=/usr/bin/ffmpeg
|
|
|
|
CMD ["/opt/mautrix-telegram/docker-run.sh"]
|