annotate docker/backend-dev/Dockerfile @ 4007:1d5a81e3c9e8

plugin XEP-0384: skip MessageReceived trigger when in a component: OMEMO is not used in components so far, but the trigger is trying to request OMEMO PEP nodes, which causes an error with virtual pubsub service of AP component.
author Goffi <goffi@goffi.org>
date Thu, 16 Mar 2023 12:31:24 +0100
parents 512487ce3579
children 5a835b320726
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
1 FROM debian:bullseye-slim
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
2
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
3 LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>"
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
4
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
5 ARG REVISION
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
6 ARG DEBIAN_FRONTEND=noninteractive
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
7
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
8 RUN echo "Building image for Libervia ${REVISION:-dev}" && \
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
9 apt-get update && apt-get upgrade -y && \
3940
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
10 apt-get install -y --no-install-recommends locales python3-dev python3-venv python3-wheel mercurial libxml2-dev libxslt-dev libcairo2-dev libjpeg-dev libgirepository1.0-dev libdbus-1-dev libdbus-glib-1-dev dbus-x11 cmake python3-gpg git && \
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
11 \
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
12 # will be used to put many Libervia specific data
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
13 mkdir -p /usr/share/libervia/certificates && \
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
14 addgroup tls-cert --gid 9999 && \
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
15 chown :tls-cert /usr/share/libervia/certificates && \
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
16 chmod 2770 /usr/share/libervia/certificates && \
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 # it's better to have a dedicated user
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
18 useradd -m libervia && adduser libervia tls-cert && \
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
19 # we'll put all source there to have an easy mount point
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
20 mkdir /src && chown libervia:libervia /src && \
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
21 \
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
22 # we need UTF-8 locale
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
23 sed -i "s/# en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen && locale-gen
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
24
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
25 ENV LC_ALL en_US.UTF-8
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
26 ENV DOCKER_LIBERVIA_REV=${REVISION:-dev}
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
27
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
28 COPY --chown=root:root session.conf /usr/share/dbus-1/session.conf
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
29
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
30 WORKDIR /home/libervia
3940
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
31
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
32 RUN apt-get install -y --no-install-recommends libsodium-dev
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
33 USER libervia
3940
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
34 RUN python3 -m venv --system-site-packages libervia_env && libervia_env/bin/pip install -U pip wheel
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
35
3940
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
36 # temporary needed for new OMEMO
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
37 RUN libervia_env/bin/pip install protobuf==3.20 && \
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
38 libervia_env/bin/pip install git+https://github.com/Syndace/python-xeddsa.git@stable && \
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
39 libervia_env/bin/pip install git+https://github.com/Syndace/python-x3dh.git@stable && \
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
40 libervia_env/bin/pip install git+https://github.com/Syndace/python-doubleratchet.git@stable && \
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
41 libervia_env/bin/pip install git+https://github.com/Syndace/python-omemo.git@stable && \
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
42 libervia_env/bin/pip install git+https://github.com/Syndace/python-oldmemo.git && \
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
43 libervia_env/bin/pip install git+https://github.com/Syndace/python-twomemo.git
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
44
512487ce3579 docker: update images to include new OMEMO libraries and OpenPGP packages:
Goffi <goffi@goffi.org>
parents: 3767
diff changeset
45 RUN cd /src && \
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
46 # We install thoses packages in editable mode, so we can replace them easily with volumes.
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
47 # We need to move *.egg-info (generated by pip) out of src dirs, otherwise mounting
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
48 # local repos without it them cause troubles
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
49 hg clone https://repos.goffi.org/urwid-satext && ~/libervia_env/bin/pip install -e urwid-satext && \
3690
1680eec4cbfd docker: use `@` instead of `tip` for dev images:
Goffi <goffi@goffi.org>
parents: 3647
diff changeset
50 hg clone https://repos.goffi.org/sat_tmp -u "${REVISION:-@}" && ~/libervia_env/bin/pip install -e sat_tmp && \
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
51 hg clone https://repos.goffi.org/libervia-templates && ~/libervia_env/bin/pip install -e libervia-templates && \
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
52 hg clone https://repos.goffi.org/libervia-media && \
3690
1680eec4cbfd docker: use `@` instead of `tip` for dev images:
Goffi <goffi@goffi.org>
parents: 3647
diff changeset
53 hg clone https://repos.goffi.org/libervia-backend -u "${REVISION:-@}" && ~/libervia_env/bin/pip install -e 'libervia-backend[SVG]' && \
3641
0ffaa231138c docker: Libervia revision can now be specified:
Goffi <goffi@goffi.org>
parents: 3613
diff changeset
54 mkdir -p /home/libervia/.local/share/libervia
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
55
3767
fd3fe346a14a docker (backend-dev): move dbus unix socket:
Goffi <goffi@goffi.org>
parents: 3730
diff changeset
56 ENV DBUS_SESSION_BUS_ADDRESS="tcp:host=backend,port=55555,family=ipv4;unix:path=/home/libervia/.local/share/dbus_socket"
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
57 ENV PATH=/home/libervia/libervia_env/bin:$PATH
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
58
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
59 COPY --chown=root:root libervia.conf /etc/_libervia.conf
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
60 COPY --chown=libervia:libervia scripts/entrypoint.sh /home/libervia/
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
61
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
62 ENTRYPOINT ["/home/libervia/entrypoint.sh"]