annotate docker/pubsub/Dockerfile @ 3528:849374e59178

component file sharing: quotas implementation: quotas can now be specified using the `quotas_json` option of `component file_sharing` section in settings. This must be a dict where: - `users` key contains default quotas for all users - `admins` key contains quotas for administrators (not implemented yet) - `jids` contain bare JID to quota mapping, to have user-specific quota The value can be either a int for quota in bytes, or a case insensitive string with an optional multiplier symbol (e.g. "500 Mio"). `None` can be used for explicit unlimited quota (which is the default is `users` is not set). When a file size is too big for quota, upload is refused with an error message indicating allowed quota, used space, and the size of the file that user wants to upload.
author Goffi <goffi@goffi.org>
date Wed, 05 May 2021 15:37:33 +0200
parents 73e04040d577
children 443b3a784eba
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
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
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
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
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
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
17 # we need UTF-8 locale
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
18 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
19
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
20 ENV LC_ALL en_US.UTF-8
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
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
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
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
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
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 && \
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3446
diff changeset
32 mv sat_pubsub/sat_pubsub.egg-info ~/libervia_env/lib/python3.*/site-packages
3381
127dde80a0a5 docker: dockers images, first draft:
Goffi <goffi@goffi.org>
parents:
diff changeset
33
3497
73e04040d577 docker: update following name changes:
Goffi <goffi@goffi.org>
parents: 3446
diff changeset
34 ENTRYPOINT ["/home/libervia/entrypoint.sh"]