annotate libervia/backend/plugins/plugin_app_manager_docker/libervia_app_weblate.yaml @ 4212:5f2d496c633f

core: get rid of `pickle`: Use of `pickle` to serialise data was a technical legacy that was causing trouble to store in database, to update (if a class was serialised, a change could break update), and to security (pickle can lead to code execution). This patch remove all use of Pickle in favour in JSON, notably: - for caching data, a Pydantic model is now used instead - for SQLAlchemy model, the LegacyPickle is replaced by JSON serialisation - in XEP-0373 a class `PublicKeyMetadata` was serialised. New method `from_dict` and `to_dict` method have been implemented to do serialisation. - new methods to (de)serialise data can now be specified with Identity data types. It is notably used to (de)serialise `path` of avatars. A migration script has been created to convert data (for upgrade or downgrade), with special care for XEP-0373 case. Depending of size of database, this migration script can be long to run. rel 443
author Goffi <goffi@goffi.org>
date Fri, 23 Feb 2024 13:31:04 +0100
parents c93b02000ae4
children 4aa62767f501
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
3376
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
1 type: docker-compose
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
2 prepare:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
3 git: https://github.com/WeblateOrg/docker-compose.git
3566
17b69a111a85 app manager (docker/weblate): use new `files` feature to set `settings-override.py`:
Goffi <goffi@goffi.org>
parents: 3455
diff changeset
4 files:
17b69a111a85 app manager (docker/weblate): use new `files` feature to set `settings-override.py`:
Goffi <goffi@goffi.org>
parents: 3455
diff changeset
5 settings-override.py:
17b69a111a85 app manager (docker/weblate): use new `files` feature to set `settings-override.py`:
Goffi <goffi@goffi.org>
parents: 3455
diff changeset
6 content: |
17b69a111a85 app manager (docker/weblate): use new `files` feature to set `settings-override.py`:
Goffi <goffi@goffi.org>
parents: 3455
diff changeset
7 USE_X_FORWARDED_HOST = True
3376
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
8 override:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
9 version: "3"
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
10 services:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
11 weblate:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
12 ports:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
13 - "8080"
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
14 environment:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
15 WEBLATE_DEBUG: 0
4085
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
16 WEBLATE_URL_PREFIX: !libervia_param [url_prefix, /weblate]
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
17 WEBLATE_EMAIL_HOST: !libervia_conf ["", "email_server"]
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
18 WEBLATE_EMAIL_HOST_USER: !libervia_conf ["", "email_username"]
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
19 WEBLATE_EMAIL_HOST_PASSWORD: !libervia_conf ["", "email_password"]
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
20 WEBLATE_SERVER_EMAIL: !libervia_conf ["", "email_from", "weblate@example.com"]
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
21 WEBLATE_DEFAULT_FROM_EMAIL: !libervia_conf ["", "email_from", "weblate@example.com"]
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
22 WEBLATE_SITE_DOMAIN: !libervia_conf ["", "public_url"]
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
23 WEBLATE_ADMIN_PASSWORD: !libervia_generate_pwd
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
24 WEBLATE_ADMIN_EMAIL: !libervia_conf ["", "email_admins_list", "", "first"]
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
25 WEBLATE_ENABLE_HTTPS: !libervia_conf ["", "weblate_enable_https", "1"]
3566
17b69a111a85 app manager (docker/weblate): use new `files` feature to set `settings-override.py`:
Goffi <goffi@goffi.org>
parents: 3455
diff changeset
26 volumes:
17b69a111a85 app manager (docker/weblate): use new `files` feature to set `settings-override.py`:
Goffi <goffi@goffi.org>
parents: 3455
diff changeset
27 - ./settings-override.py:/app/data/settings-override.py:ro
3376
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
28 expose:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
29 url_prefix: [override, services, weblate, environment, WEBLATE_URL_PREFIX]
4085
c93b02000ae4 plugin app manager: rename `sat` to `libervia`
Goffi <goffi@goffi.org>
parents: 4071
diff changeset
30 front_url: !libervia_param [front_url, /translate]
3376
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
31 web_label: Translate
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
32 ports:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
33 web:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
34 service: weblate
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
35 private: 8080
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
36 passwords:
a94cdda7d5c4 plugin app manager docker: weblate SàT app file for Docker
Goffi <goffi@goffi.org>
parents:
diff changeset
37 admin: [override, services, weblate, environment, WEBLATE_ADMIN_PASSWORD]