maubot/Dockerfile

61 lines
1.7 KiB
Docker
Raw Normal View History

2024-08-06 11:51:36 -04:00
FROM node:20 AS frontend-builder
2018-11-10 17:52:28 -05:00
COPY ./maubot/management/frontend /frontend
RUN cd /frontend && yarn --prod && yarn build
2024-08-06 11:51:36 -04:00
FROM alpine:3.20
2018-10-17 14:17:15 -04:00
RUN apk add --no-cache \
2020-07-12 11:00:24 -04:00
python3 py3-pip py3-setuptools py3-wheel \
2020-02-25 17:42:06 -05:00
ca-certificates \
su-exec \
2021-11-19 10:22:17 -05:00
yq \
2020-02-25 17:42:06 -05:00
py3-aiohttp \
py3-attrs \
py3-bcrypt \
py3-cffi \
py3-ruamel.yaml \
py3-jinja2 \
py3-click \
py3-packaging \
py3-markdown \
2021-05-07 14:45:50 -04:00
py3-alembic \
2022-12-30 19:28:10 -05:00
py3-cssselect \
2021-05-07 14:45:50 -04:00
py3-commonmark \
2020-07-12 11:00:24 -04:00
py3-pygments \
2021-05-07 14:45:50 -04:00
py3-tz \
py3-regex \
py3-wcwidth \
2020-07-12 11:00:24 -04:00
# encryption
py3-cffi \
2021-08-08 05:39:26 -04:00
py3-olm \
2020-07-12 11:00:24 -04:00
py3-pycryptodome \
py3-unpaddedbase64 \
py3-future \
# plugin deps
2024-08-06 11:51:36 -04:00
py3-pillow \
py3-magic \
py3-feedparser \
2020-06-20 07:31:24 -04:00
py3-dateutil \
2022-12-30 19:28:10 -05:00
py3-lxml \
2024-08-06 11:51:36 -04:00
py3-semver
2021-01-14 06:19:55 -05:00
# TODO remove pillow, magic, feedparser, lxml, gitlab and semver when maubot supports installing dependencies
COPY requirements.txt /opt/maubot/requirements.txt
2020-07-12 11:00:24 -04:00
COPY optional-requirements.txt /opt/maubot/optional-requirements.txt
WORKDIR /opt/maubot
2020-07-12 11:00:24 -04:00
RUN apk add --virtual .build-deps python3-dev build-base git \
2024-08-06 11:51:36 -04:00
&& pip3 install --break-system-packages -r requirements.txt -r optional-requirements.txt \
2022-12-30 19:28:10 -05:00
dateparser langdetect python-gitlab pyquery tzlocal \
2021-12-13 08:36:48 -05:00
&& apk del .build-deps
2020-07-12 11:00:24 -04:00
# TODO also remove dateparser, langdetect and pyquery when maubot supports installing dependencies
2018-10-17 14:17:15 -04:00
2020-02-25 17:42:06 -05:00
COPY . /opt/maubot
2021-12-13 08:36:48 -05:00
RUN cp maubot/example-config.yaml .
2020-02-25 18:04:57 -05:00
COPY ./docker/mbc.sh /usr/local/bin/mbc
2020-02-25 17:42:06 -05:00
COPY --from=frontend-builder /frontend/build /opt/maubot/frontend
ENV UID=1337 GID=1337 XDG_CONFIG_HOME=/data
2018-10-17 14:17:15 -04:00
VOLUME /data
CMD ["/opt/maubot/docker/run.sh"]