Mercurial > libervia-backend
annotate docker/pubsub/Dockerfile @ 3728:b15644cae50d
component AP gateway: JID/node ⟺ AP outbox conversion:
- convert a combination of JID and optional pubsub node to AP actor handle (see
`getJIDAndNode` for details) and vice versa
- the gateway now provides a Pubsub service
- retrieve pubsub node and convert it to AP collection, AP pagination is converted to RSM
- do the opposite: convert AP collection to pubsub and handle RSM request. Due to
ActivityStream collection pagination limitations, some RSM request produce inefficient
requests, but caching should be used most of the time in the future and avoid the
problem.
- set specific name to HTTP Server
- new `local_only` setting (`True` by default) to indicate if the gateway can request or
not XMPP Pubsub nodes from other servers
- disco info now specifies important features such as Pubsub RSM, and nodes metadata
ticket 363
author | Goffi <goffi@goffi.org> |
---|---|
date | Tue, 25 Jan 2022 17:54:06 +0100 |
parents | 0422c735db56 |
children | 43cc8c27adc7 |
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 | 2 |
3 LABEL maintainer="Goffi <tmp_dockerfiles@goffi.org>" | |
4 | |
5 ARG DEBIAN_FRONTEND=noninteractive | |
6 | |
7 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
|
8 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
|
9 # 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
|
10 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
|
11 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
|
12 # 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
|
13 apt-get install -y --no-install-recommends postgresql-client && \ |
3381 | 14 # it's better to have a dedicated user |
3497
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
15 useradd -m libervia && \ |
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
16 mkdir /src && chown libervia:libervia /src && \ |
3381 | 17 # we need UTF-8 locale |
18 sed -i "s/# en_US.UTF-8/en_US.UTF-8/" /etc/locale.gen && locale-gen | |
19 | |
20 ENV LC_ALL en_US.UTF-8 | |
21 | |
3497
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
22 WORKDIR /home/libervia |
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
23 COPY entrypoint.sh /home/libervia |
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
24 RUN chown libervia:libervia /home/libervia/entrypoint.sh && chmod 0555 /home/libervia/entrypoint.sh |
3381 | 25 |
3497
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
26 USER libervia |
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
27 RUN python3 -m venv libervia_env && libervia_env/bin/pip install -U pip wheel && cd /src && \ |
3381 | 28 # we install thoses packages in editable mode, so we can replace them easily with volumes |
3497
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
29 hg clone https://repos.goffi.org/sat_tmp && ~/libervia_env/bin/pip install -e sat_tmp && \ |
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
30 mv sat_tmp/sat_tmp.egg-info ~/libervia_env/lib/python3.*/site-packages && \ |
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
31 hg clone https://repos.goffi.org/sat_pubsub && ~/libervia_env/bin/pip install -e sat_pubsub && \ |
3646
0422c735db56
docker: fixes following global renaming
Goffi <goffi@goffi.org>
parents:
3641
diff
changeset
|
32 mv sat_pubsub/sat_pubsub.egg-info ~/libervia_env/lib/python3.*/site-packages |
3381 | 33 |
3497
73e04040d577
docker: update following name changes:
Goffi <goffi@goffi.org>
parents:
3446
diff
changeset
|
34 ENTRYPOINT ["/home/libervia/entrypoint.sh"] |