annotate docker/pubsub/Dockerfile @ 3452:bb0225aaf4e6

plugin XEP-0346: "Form Discovery and Publishing" implementation: this implementation replaces the former non standard node schema, and works in a similar way (the schema is put in a separated node instead of a special field, thus it will now work with most/all PubSub services, and not only SàT PubSub). The implementation has been done in a way that nothing should be changed in frontends (bridge methods names and arguments stay the same). The nodes are modified, but if values are taken from backend, it's automatically adapted.
author Goffi <goffi@goffi.org>
date Fri, 11 Dec 2020 17:57:00 +0100
parents d2298ed6de7f
children 73e04040d577
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3445
fc83c4996c77 docker: use `slim` version of Debian as base for our images
Goffi <goffi@goffi.org>
parents: 3381
diff changeset
1 FROM debian:buster-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
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
5 ARG DEBIAN_FRONTEND=noninteractive
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
6
3446
d2298ed6de7f docker (pubsub): install latest version of `postgresql-client` with PostgreSQL own Debian repos.
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
7 RUN \
d2298ed6de7f docker (pubsub): install latest version of `postgresql-client` with PostgreSQL own Debian repos.
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
8
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
9 RUN apt-get update && apt-get upgrade -y && \
3446
d2298ed6de7f docker (pubsub): install latest version of `postgresql-client` with PostgreSQL own Debian repos.
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
10 apt-get install -y --no-install-recommends locales python3-dev python3-venv python3-wheel mercurial libpq-dev gcc gnupg && \
d2298ed6de7f docker (pubsub): install latest version of `postgresql-client` with PostgreSQL own Debian repos.
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
11 # we install postgresql repository to have latest version
d2298ed6de7f docker (pubsub): install latest version of `postgresql-client` with PostgreSQL own Debian repos.
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
12 echo "deb http://apt.postgresql.org/pub/repos/apt buster-pgdg main" > /etc/apt/sources.list.d/pgdg.list && \
d2298ed6de7f docker (pubsub): install latest version of `postgresql-client` with PostgreSQL own Debian repos.
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
13 python3 -c 'from urllib.request import urlopen; print(urlopen("https://www.postgresql.org/media/keys/ACCC4CF8.asc").read().decode())' | apt-key add - && \
d2298ed6de7f docker (pubsub): install latest version of `postgresql-client` with PostgreSQL own Debian repos.
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
14 # now we can install the client
d2298ed6de7f docker (pubsub): install latest version of `postgresql-client` with PostgreSQL own Debian repos.
Goffi <goffi@goffi.org>
parents: 3445
diff changeset
15 apt-get install -y --no-install-recommends postgresql-client && \
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
16 # it's better to have a dedicated user
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 useradd -m sat && \
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 mkdir /src && chown sat:sat /src && \
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
19 # we need UTF-8 locale
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
20 sed -i "s/# en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen && locale-gen
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 ENV LC_ALL en_US.UTF-8
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
23
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
24 WORKDIR /home/sat
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
25 COPY entrypoint.sh /home/sat
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
26 RUN chown sat:sat /home/sat/entrypoint.sh && chmod 0555 /home/sat/entrypoint.sh
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
27
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
28 USER sat
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
29 RUN python3 -m venv sat_env && sat_env/bin/pip install wheel && cd /src && \
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
30 # 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
31 hg clone https://repos.goffi.org/sat_tmp && ~/sat_env/bin/pip install -e sat_tmp && \
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
32 mv sat_tmp/sat_tmp.egg-info ~/sat_env/lib/python3.*/site-packages && \
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
33 hg clone https://repos.goffi.org/sat_pubsub && ~/sat_env/bin/pip install -e sat_pubsub && \
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
34 mv sat_pubsub/sat_pubsub.egg-info ~/sat_env/lib/python3.*/site-packages
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
35
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
36 ENTRYPOINT ["/home/sat/entrypoint.sh"]