annotate docker/backend-dev/Dockerfile @ 3732:0fac164ff2d8

tools (xml_tools): fix `widget_args` modification in `_dataFormField2XMLUIData`: in `textbox` widget, the first arg was modified with all values, lettings other ones unchanger, resulting in invalid number of arguments. This has been fixed by replacing all args with the new value.
author Goffi <goffi@goffi.org>
date Mon, 31 Jan 2022 18:35:52 +0100
parents 43cc8c27adc7
children fd3fe346a14a
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 && \
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
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 && \
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
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
31 USER libervia
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
32
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
33 RUN python3 -m venv libervia_env && libervia_env/bin/pip install -U pip wheel && cd /src && \
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
34 # 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
35 # 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
36 # local repos without it them cause troubles
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
37 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
38 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
39 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
40 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
41 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
42 mkdir -p /home/libervia/.local/share/libervia
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
43
3647
57d43e3e0095 docker: set `DBUS_SESSION_BUS_ADDRESS` so that it uses remote TCP with local fallback:
Goffi <goffi@goffi.org>
parents: 3641
diff changeset
44 ENV DBUS_SESSION_BUS_ADDRESS="tcp:host=backend,port=55555,family=ipv4;unix:path=/home/libervia/.local/share/libervia/dbus_socket"
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
45 ENV PATH=/home/libervia/libervia_env/bin:$PATH
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
46
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
47 COPY --chown=root:root libervia.conf /etc/_libervia.conf
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
48 COPY --chown=libervia:libervia scripts/entrypoint.sh /home/libervia/
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
49
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
50 ENTRYPOINT ["/home/libervia/entrypoint.sh"]