Commit Graph

908 Commits

Author SHA1 Message Date
Slavi Pantaleev
30745db6d5 Add storage-class support to the s3_media_upload command and mention matrix-synapse-s3-storage-provider-migrate script 2022-10-14 18:29:30 +03:00
Slavi Pantaleev
de8fd519c5 Document matrix-synapse-s3-storage-provider-migrate.{service,timer} 2022-10-14 18:14:34 +03:00
Slavi Pantaleev
3cf0dcda6d Update "b2 sync" commands 2022-10-14 18:07:10 +03:00
Slavi Pantaleev
63a0e5c4f6 Add warnings to synapse-s3-storage-provider support feature 2022-10-14 17:58:47 +03:00
Slavi Pantaleev
ac7cb3619d Add support for synapse-s3-storage-provider 2022-10-14 17:41:41 +03:00
Slavi Pantaleev
337016da28 Improve S3 docs a bit
Fixes https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/1869
2022-10-14 09:27:50 +03:00
Slavi Pantaleev
3b965fa8f5
Merge pull request #2162 from fdarveau/update-docs
Update Caddy examples and outdated Jitsi docker env variable/documentation link
2022-10-12 16:21:56 +03:00
François Darveau
35e80b7087
Update docs/configuring-playbook-own-webserver.md
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-10-12 09:15:03 -04:00
François Darveau
21bed90e13 remove mention of other docker host in external webserver documentation (binding ports section) 2022-10-11 07:26:29 -04:00
Slavi Pantaleev
8311c59a8f Add Usage section to Hookshot docs 2022-10-11 10:43:01 +03:00
François Darveau
3a1847e193 moved bind port variables documentation for webserver on different docker network or host in a more generic section 2022-10-10 16:25:17 -04:00
François Darveau
9c52a8b3a1 update Jitsi on LAN configuration doc 2022-10-10 16:05:40 -04:00
Slavi Pantaleev
e9993856a6 Fix typo 2022-10-06 13:23:48 +03:00
Slavi Pantaleev
8d40ddd654 Adjust importing-postgres docs to mention postgres_default_import_database 2022-10-06 13:22:52 +03:00
Slavi Pantaleev
f4804f475a Announce matrix-ldap-registration-proxy
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2038
2022-10-02 09:27:51 +03:00
Slavi Pantaleev
b67ba669e8
Merge pull request #2038 from TheOneWithTheBraid/braid/matrix-ldap-registration-proxy
Draft: feat: include matrix_ldap_registration_proxy
2022-10-02 09:23:25 +03:00
Julian-Samuel Gebühr
41e1da2ff4
Make registration proxy independent of other roles, document (#7)
* Make registration proxy independent of other roles, document

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Fix yml issues

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Remove undefined variable (as service HAS to be exposed

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Add registration endpint

Defines the registration endpoint that should be intercepted/forwarded to the proxy

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Add image name

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>
2022-09-29 18:00:14 +02:00
Warrows
202f54f327
Improve maubot doc
Add two important informations:
- The `mbc` commands must be ran in the docker container
- Not using this method prevent from using encrypted rooms with the bot
2022-09-22 13:48:24 +02:00
Mecallie
139be48706
Updated the Element settings. 2022-09-19 21:04:02 +02:00
Julian-Samuel Gebühr
cd21525b4b Merge branch 'braid/matrix-ldap-registration-proxy' of https://github.com/TheOneWithTheBraid/matrix-docker-ansible-deploy into matrix-ldap-registration-proxy 2022-09-16 19:40:00 +02:00
Julian-Samuel Gebühr
2fa0ddcf53 TODO: Check if ths documentation is correct
Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>
2022-09-16 19:25:00 +02:00
Julian-Samuel Gebühr
db705aff4f Add documentation to readme/list of services
Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>
2022-09-16 19:15:33 +02:00
Slavi Pantaleev
e87bee15dd Add note about the Kakaotalk bridge being dangerous to use 2022-09-16 19:57:52 +03:00
Julian-Samuel Gebühr
0a4ce46e1e Add doc page
Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>
2022-09-16 18:25:36 +02:00
Slavi Pantaleev
226c550ffa Add support for stream writer Synapse workers
As stream writer workers are also powered by the `generic_worker`
Synapse app, this necessitated that we provide means for distinguishing
between them and regular `generic_workers`.

I've also taken the time to optimize nginx configuration generation
(more Jinja2 macro usage, less duplication).

Worker names have also changed.
Workers are now named sequentially like this:
- `matrix-synapse-worker-0-generic`
- `matrix-synapse-worker-1-stream-writer-typing`
- `matrix-synapse-worker-2-pusher`

instead of `matrix-synapse-worker_generic_worker-18111` (indexed with a
port number).

People who modify `matrix_synapse_workers_enabled_list` directly will
need to adjust their configuration.
2022-09-15 08:10:04 +03:00
Slavi Pantaleev
99f4f5edc7 Add note that disabling matrix-nginx-proxy may be a bad idea sometimes
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090
2022-09-15 07:46:17 +03:00
Slavi Pantaleev
05819056bc Document that using Synapse workers with not-matrix-nginx-proxy causes troubles
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/issues/2090
2022-09-14 20:54:00 +03:00
Slavi Pantaleev
b510848c6d Mention that bot.cactusbot is created automatically
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2089
2022-09-09 15:13:35 +03:00
Slavi Pantaleev
5cfb0fb477 Update Email2Matrix docs page 2022-09-09 15:06:12 +03:00
Slavi Pantaleev
a4d8a4094b Put "Component" column first in the optional-DNS configuration table
Related to 98b9e2cd84
2022-09-09 15:04:14 +03:00
Slavi Pantaleev
c00a8d4099 Announce Cactus Comments support
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2089
2022-09-09 14:47:53 +03:00
Slavi Pantaleev
d2dc9149a9 Fix YAML block (ỳaml -> yaml)
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2089
2022-09-09 14:43:52 +03:00
Julian-Samuel Gebühr
5825a0c919
Cactus comments (#2089)
* Add construct for cactus comments role

* Adjust config files

* Add docker self build to defaults

* Adjust tasks

* Fix smaller syntax errors

* Fix env argument

* Add tmp path to allow container writing there

Background why I did this: https://docs.gunicorn.org/en/stable/settings.html#worker-tmp-dir

* Change port back to 5000 as not configurable in container

* Try to add appservice config file for synapse to use

* Inject appservice file

* Correct copied variable name

* Comment out unused app service file injection

would need mounting the appservice file to the synapse container i guess

* Move role before synapse to be able to inject during runtime

* Remove unused parts

* Change default user id to mirror official docs

* Add docs

* Update roles/matrix-cactus-comments/tasks/setup_install.yml

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Update roles/matrix-cactus-comments/templates/cactus_appservice.yaml.j2

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Generate secrets if necessary, adjust docs

* Rename cactusbot userid

* Shorten salt strings

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Use tmpfs instead of persistent mount

* Remove proxy option as it is nonsense

* Add download and serving of cc-client files

* Add documentation on client

* Clarify docs a bit

* Add nginx proxy to required services

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Use container address

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Correct comment of user id

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Use releases or local distributed client

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Move homeserver url to defaults

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Correct truth value

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Add documentation of variables

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Tabs vs. spaces

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Make nginx root configurable

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Complete ake nginx root configurable

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Fix file permission

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

* Fix lint errors

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>

Signed-off-by: Julian-Samuel Gebühr <julian-samuel@gebuehr.net>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-09-09 14:37:52 +03:00
Slavi Pantaleev
98b9e2cd84 Add "Component" column to optional-DNS-records table 2022-09-09 14:36:53 +03:00
Aine
692a7af36a
postmoogle feedback 2022-09-09 13:19:25 +03:00
Aine
b92ff748e4
Update Postmoogle 0.9.0 -> 0.9.1 2022-09-09 10:47:00 +03:00
Kolja Lampe
ee2badf7a6
Correctly refer to the placeholder 2022-09-05 11:01:31 +02:00
Array in a Matrix
8a469adbfb
better wording 2022-08-29 14:33:53 -04:00
Array in a Matrix
5d7260a93d
removed server wide rate limit link 2022-08-29 14:30:00 -04:00
Array in a Matrix
76953d8a69
Update configuring-playbook-bot-mjolnir.md 2022-08-29 13:10:53 -04:00
Array in a Matrix
aa92696613
Update configuring-playbook-bot-mjolnir.md 2022-08-29 13:10:29 -04:00
Array in a Matrix
071424bef2
Update configuring-playbook-bot-mjolnir.md 2022-08-29 02:29:57 -04:00
Slavi Pantaleev
eaf13264e6 Announce Postmoogle email bridge bot
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2043
2022-08-23 14:16:10 +03:00
Slavi Pantaleev
447b9313d7
Merge pull request #2043 from etkecc/add-postmoogle
add postmoogle
2022-08-23 13:58:39 +03:00
Aine
b3688cce71
Update docs/configuring-playbook-bot-postmoogle.md
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-08-23 10:31:11 +00:00
Aine
1338a3c9fc
postmoogle: adjust help, add maxsize 2022-08-22 20:23:39 +03:00
Aine
9c2a8addee
add postmoogle 2022-08-22 20:10:35 +03:00
Slavi Pantaleev
eb8551be19
Improve wording and fix syntax trouble 2022-08-21 10:07:22 +03:00
Dennis Ciba
7be2b776e4 Create dedicated doc page on obtaining access tokens 2022-08-20 11:47:14 +02:00
Cody Wyatt Neiman
3a09cbcbf9
Update beeper-linkedin URLs to the new GitHub repo 2022-08-19 16:28:29 -04:00
iambeingtracked
8d7c6d76fb
Update configuring-playbook-client-element.md
I think there should only be one '_'
2022-08-11 13:07:20 +03:00
Slavi Pantaleev
81f4e8cffb Announce Conduit support
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/2002
2022-08-09 11:37:57 +03:00
Julian-Samuel Gebühr
32430de812
Fix bug that prevented user with external nginx from launch (#2003)
* Fix bug that prevented user with external nginx from launch

The backslash was missing and prevented users from starting the bot

* Add necessary config for ext nginx to docs

* Add automatic config for ext nginx, adjust docs

* Remove unneeded and possibly puzzeling documentation
2022-08-05 20:02:01 +03:00
JokerGermany
2fddf81283 discord-bridges - fixing grammar mistakes, thanks @spontaleev 2022-08-03 09:33:52 +02:00
JokerGermany
27effa0274 enumeration for better visibility 2022-08-02 12:22:41 +02:00
JokerGermany
2e330e7fe0 fixing links, adding paragraph 2022-08-02 12:18:41 +02:00
JokerGermany
52f8ee618b specify discord bridge usage; fix links 2022-08-02 11:25:29 +02:00
Slavi Pantaleev
d98f09944d Fix more typos 2022-07-29 20:22:50 +03:00
Slavi Pantaleev
dfef71b9a9 Fix typo 2022-07-29 20:19:56 +03:00
Slavi Pantaleev
fdc9fb9d50 Improve mautrix-discord docs
Related to:

- https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1974
- https://github.com/mautrix/discord/issues/17
- https://github.com/mautrix/discord/issues/18
- https://github.com/mautrix/discord/issues/19
2022-07-29 20:17:52 +03:00
vaivars
05cfd48808
Add example configuration for Caddy v2 (#1985)
* Add example configuration for Caddy v2

Add a basic example how to get synapse-admin running behind Caddy v2 proxy.

* Improve working, fix typos

* Fix typos

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-07-29 08:33:42 +03:00
Slavi Pantaleev
9d10d5543b Announce mautrix-discord support 2022-07-29 08:10:09 +03:00
Slavi Pantaleev
429d0b323b
Merge pull request #1974 from MdotAmaan/master
Add Mautrix Discord Bridge
2022-07-29 08:05:52 +03:00
MdotAmaan
6fb961eb12 Make changes according to feedback
Co-authored-by: Slavi Pantaleev <slavi@devture.com>

Update group_vars/matrix_servers

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

Remove old data migration tasks

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

Update roles/matrix-bridge-mautrix-discord/tasks/validate_config.yml

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

Redo bridge permissions
2022-07-29 00:28:44 +04:00
Slavi Pantaleev
d65096cd82
Merge pull request #1978 from spantaleev/appservice-kakaotalk
Add matrix-appservice-kakaotalk support
2022-07-27 09:42:18 +03:00
Slavi Pantaleev
2e40ad7d4e Announce Kakaotalk support 2022-07-27 09:36:58 +03:00
mcnesium
72309ed0a1
run the playbook on multiple hosts with different credentials (#1980)
* run the playbook on multiple hosts with different credentials with this script

* fix: add yaml missing document start "---"

* fix: *now really* allow this script to be run from any directory

* add about-note to examples/host.yml

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* improve ansible-all-hosts.sh related docs/configuring-playbook.md

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* fix typos :)

Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-07-26 16:34:55 +03:00
Slavi Pantaleev
d14e499365 Add dedicated variables for controlling Kakaotalk encryption 2022-07-25 16:01:15 +03:00
Slavi Pantaleev
e46ba5deba Add matrix-appservice-kakaotalk support
Adds support for: https://src.miscworks.net/fair/matrix-appservice-kakaotalk

This is pretty similar to
https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1977
which just appeared, but has mostly been done independently.

I've taken some inspiration and did some fixups based on that PR.
Thanks to https://github.com/hnarjis for taking the time to contribute!

Notable differences between this branch compared to that PR:

- better naming and documentation around the "configuration" variables
- no unnecessary (5 sec.) intentional delay when starting `matrix-appservice-kakaotalk-node.service`
- stores configuration in `config/`, not in `data/`
- passes configuration as read-only and starts the bridge with (`--no-update`) to ensure no changes are made to it
- starts containers more securely - with `matrix:matrix` user:group (not `root`) and
  reduced capabilities (`--cap-drop=ALL`)
- uses `tcp` for communication between the "node" and the appservice (simpler than sharing unix sockets)
- `registration.yaml` which is closer to the one generated by `matrix-appservice-kakaotalk` (no `de.sorunome.msc2409.push_ephemeral` stuff, etc.)
- `registration.yaml` which is more customizable (customizable bot username and prefix for puppets - see `matrix_appservice_kakaotalk_appservice_bot_username` and `matrix_appservice_kakaotalk_user_prefix`)
- less fragile and more extensible bridge permissions configuration via `matrix_appservice_kakaotalk_bridge_permissions`. Doing `{% if matrix_admin %}` in the bridge configuration sometimes causes syntax problems (I hit some myself) and is not ideal. Other bridges should be redone as well.
- configurable command prefix for the bridge, instead of hardcoding `!kt` (see `matrix_appservice_kakaotalk_command_prefix`)
- logging that is more consistent with the rest of the playbook (console / journald only, no logging to files), as well as configurable log level (via `matrix_appservice_kakaotalk_logging_level`)
- somewhat more detailed documentation (`docs/configuring-playbook-bridge-appservice-kakaotalk.md`)
- removed some dead code (data relocation tasks from `tasks/setup_install.yml`, as well as likely unnecessary SQLite -> Postgres migration)
2022-07-25 16:01:15 +03:00
Slavi Pantaleev
9e65ba3298
Merge pull request #1958 from xangelix/migrate-mx-puppet-groupme-repo
Migrate mx-puppet-groupme to new repo
2022-07-25 15:15:06 +03:00
Onisokien Ayonoadu
50ae4d2422
Minor typo update 2022-07-22 13:11:38 -06:00
MdotAmaan
8621ff1379 Add Mautrix Discord Bridge 2022-07-22 18:55:44 +04:00
Slavi Pantaleev
57e8769c5e
Add hint about matrix_backup_borg_ssh_key_private indentation 2022-07-21 17:07:06 +03:00
kleo
db94653b42
Borg backup provide ssh key example format 2022-07-21 21:56:52 +08:00
Slavi Pantaleev
b9d7e24859
Merge pull request #1957 from mholt/patch-1
Update configuring-well-known.md
2022-07-21 10:30:34 +03:00
Matt Holt
9e87f9d885
Update configuring-well-known.md 2022-07-20 12:10:34 -06:00
Julian-Samuel Gebühr
ff2ba1d5b1 Add matrix-registreation-bot docker image 2022-07-20 12:18:11 +02:00
Slavi Pantaleev
e5238bf7d5 Announce maubot
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1894
2022-07-20 12:55:18 +03:00
Julian-Samuel Gebühr
b20cfc5015
Clear up maubot role (#1960)
* Make interface hidden behind proxy by default

* Remove expose option and replace with http_bind_port

Reasoning: This is a similar binary trigger but allows to bin not on all interfaces

* Clarify maubot admin purpose

* Remove unnecessary edif

* Extend docs to prevent common misconceptions

* Make http_bind_port singular, do not allow multiple values

* Make optional again
2022-07-20 12:23:32 +03:00
Slavi Pantaleev
1f2d100d91
Merge pull request #1894 from moan0s/maubot_moanos
Maubot moanos
2022-07-20 10:10:14 +03:00
Cody Wyatt Neiman
dbddd9f989
Migrate mx-puppet-groupme to new repo 2022-07-19 19:02:32 -04:00
Matt Holt
2e02e694b4
Update configuring-well-known.md
Make use of `example.com` more consistent (replace `DOMAIN`) and simplify Caddy 2 config. Remove Caddy 1 config since Caddy 1 is long past EOL.
2022-07-19 16:31:01 -06:00
Aaron Raimist
efec303a22
Explicitly mention that your homeserver's domain is included in telemetry 2022-07-19 16:42:53 +00:00
Slavi Pantaleev
2a131fd507
Merge pull request #1954 from aaronraimist/stats
Update telemetry documentation to more closely match upstream
2022-07-19 18:38:29 +03:00
Aaron Raimist
817830bb3d
Update telemetry documentation to more closely match upstream
Synapse no longer describes the stats as anonymized since the `server_name` is included.
https://github.com/matrix-org/synapse/pull/13321
2022-07-19 14:58:19 +00:00
Slavi Pantaleev
78b5be4a26 Do not generate /.well-known/matrix/support unless explicitly asked to
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1931
2022-07-18 12:54:45 +03:00
Slavi Pantaleev
3f7498da5a Fix matrix_homeserver_admin_contacts example
Related to https://github.com/spantaleev/matrix-docker-ansible-deploy/pull/1931

This does 2 things:

- it fixes the syntax for `matrix_id`. Starting strings with `@` is
  invalid YAML, so such strings need to be wrapped in single or double
  quotes
- it makes use of the `matrix_domain` variable instead of hardcoding the
  domain name. This should be more and mistake-proof (typos or people
  mistaking their domain - matrix. vs base domain)
2022-07-18 12:49:53 +03:00
teutates
018ca75d48
Implement MSC 1929 Homeserver Admin Contact (#1931)
* Implement MSC 1929 Homeserver Admin Contact
Fixes #1612

For details to the proposed (not accepted yet) MSC, see:
https://github.com/matrix-org/matrix-spec-proposals/blob/hs/proposal-admin-contact-1/proposals/1929-admin-contact.md

* Implement feedback from PR #1931

* Implement feedback from PR #1931

* Fix mixed indentation
2022-07-18 12:28:59 +03:00
marinmo
5a1a1126a2
update buscarron from github -> gitlab
project doesn't exist on github anymore
2022-07-16 15:33:30 +00:00
alexhartley
015952b37d Update recommended Skype bridge 2022-07-15 17:49:47 +01:00
Slavi Pantaleev
e94ec75e1a Remove matrix-bridge-mx-puppet-skype role 2022-07-14 18:09:19 +03:00
Julian-Samuel Gebühr
1ffc0d963b Add maubot configuration docs 2022-07-12 01:15:12 +02:00
Julian-Samuel Gebühr
29b336f0a8 Add docs
Unrelated to the original branch I added the matrix-registration bot as it was missing in the readme
2022-07-11 13:28:23 +02:00
ThellraAK
87f437968d
Creating generic mautrix bridge doc (#1912)
* Creating generic mautrix bridge doc

Not a huge fan of how it turned out at all, not sure how to make it better.

* Rename configuring-playbook-bridge-mautrix-Generic.md to configuring-playbook-bridges.md

* accepting suggested edits after rename mess

* Adding log level configuration

* Update docs/configuring-playbook-bridges.md

Co-authored-by: Slavi Pantaleev <slavi@devture.com>

* Rename configuring-playbook-bridges.md to configuring-playbook-mautrix-bridges.md

Co-authored-by: ThellraAK <ThellraAK@pop-os.localdomain>
Co-authored-by: Slavi Pantaleev <slavi@devture.com>
2022-07-08 18:06:37 +03:00
Julian Foad
5bcf836283 matrix-ntfy: more detailed usage docs for SchildiChat 2022-07-08 13:18:30 +01:00
Julian Foad
9ea0879a63 matrix-ntfy: document ntfy & schildichat app settings 2022-07-08 12:02:06 +01:00
Julian Foad
e60d20dc6a matrix-ntfy: store settings in a config file 2022-07-04 21:30:29 +01:00
Julian Foad
85b12b74a7 matrix-ntfy: documentation 2022-07-04 15:32:07 +01:00
freiit
02cc201f14
Add configuration instruction for AWS CloundFront 2022-07-01 12:28:10 +02:00
Slavi Pantaleev
4ca0d23b81
FIx code blocks 2022-07-01 08:42:23 +03:00