2021-06-11 05:09:14 -04:00
|
|
|
FROM node:16 AS frontend-builder
|
2018-11-10 17:52:28 -05:00
|
|
|
|
|
|
|
COPY ./maubot/management/frontend /frontend
|
|
|
|
RUN cd /frontend && yarn --prod && yarn build
|
|
|
|
|
2021-08-08 05:39:26 -04:00
|
|
|
FROM alpine:3.14
|
2018-10-17 14:17:15 -04:00
|
|
|
|
2020-03-01 06:53:10 -05: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 \
|
|
|
|
py3-aiohttp \
|
|
|
|
py3-sqlalchemy \
|
|
|
|
py3-attrs \
|
|
|
|
py3-bcrypt \
|
|
|
|
py3-cffi \
|
|
|
|
py3-psycopg2 \
|
|
|
|
py3-ruamel.yaml \
|
|
|
|
py3-jinja2 \
|
|
|
|
py3-click \
|
|
|
|
py3-packaging \
|
|
|
|
py3-markdown \
|
2021-05-07 14:45:50 -04:00
|
|
|
py3-alembic \
|
|
|
|
# py3-cssselect \
|
|
|
|
py3-commonmark \
|
2020-07-12 11:00:24 -04:00
|
|
|
py3-pygments \
|
2021-05-07 14:45:50 -04:00
|
|
|
py3-tz \
|
|
|
|
# py3-tzlocal \
|
|
|
|
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
|
2020-03-01 06:53:10 -05:00
|
|
|
py3-pillow \
|
|
|
|
py3-magic \
|
2020-03-25 15:26:28 -04:00
|
|
|
py3-feedparser \
|
2020-06-20 07:31:24 -04:00
|
|
|
py3-dateutil \
|
2021-08-08 05:43:45 -04:00
|
|
|
py3-lxml
|
|
|
|
# py3-gitlab
|
2021-05-07 14:45:50 -04:00
|
|
|
# py3-semver@edge
|
2021-01-14 06:19:55 -05:00
|
|
|
# TODO remove pillow, magic, feedparser, lxml, gitlab and semver when maubot supports installing dependencies
|
2020-03-01 06:53:10 -05:00
|
|
|
|
|
|
|
COPY requirements.txt /opt/maubot/requirements.txt
|
2020-07-12 11:00:24 -04:00
|
|
|
COPY optional-requirements.txt /opt/maubot/optional-requirements.txt
|
2020-03-01 06:53:10 -05:00
|
|
|
WORKDIR /opt/maubot
|
2020-07-12 11:00:24 -04:00
|
|
|
RUN apk add --virtual .build-deps python3-dev build-base git \
|
|
|
|
&& sed -Ei 's/psycopg2-binary.+//' optional-requirements.txt \
|
|
|
|
&& pip3 install -r requirements.txt -r optional-requirements.txt \
|
2021-05-07 14:45:50 -04:00
|
|
|
dateparser langdetect python-gitlab pyquery cchardet semver tzlocal cssselect \
|
2020-02-25 17:42:06 -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
|
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
|
2020-02-25 17:44:54 -05:00
|
|
|
ENV UID=1337 GID=1337 XDG_CONFIG_HOME=/data
|
2018-10-17 14:17:15 -04:00
|
|
|
VOLUME /data
|
|
|
|
|
2018-11-04 16:05:39 -05:00
|
|
|
CMD ["/opt/maubot/docker/run.sh"]
|