Matrix Docker Ansible eploy
Nevar pievienot vairāk kā 25 tēmas Tēmai ir jāsākas ar burtu vai ciparu, tā var saturēt domu zīmes ('-') un var būt līdz 35 simboliem gara.
 
 

306 rindas
16 KiB

  1. # SOME DESCRIPTIVE TITLE.
  2. # Copyright (C) 2018-2026, Slavi Pantaleev, Aine Etke, MDAD community members
  3. # This file is distributed under the same license as the matrix-docker-ansible-deploy package.
  4. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
  5. #
  6. #, fuzzy
  7. msgid ""
  8. msgstr ""
  9. "Project-Id-Version: matrix-docker-ansible-deploy \n"
  10. "Report-Msgid-Bugs-To: \n"
  11. "POT-Creation-Date: 2026-03-03 10:49+0000\n"
  12. "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
  13. "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
  14. "Language-Team: LANGUAGE <LL@li.org>\n"
  15. "MIME-Version: 1.0\n"
  16. "Content-Type: text/plain; charset=UTF-8\n"
  17. "Content-Transfer-Encoding: 8bit\n"
  18. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:10
  19. msgid "Storing Synapse media files on Amazon S3 with synapse-s3-storage-provider (optional)"
  20. msgstr ""
  21. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:12
  22. msgid "The playbook can install and configure the [synapse-s3-storage-provider](https://github.com/matrix-org/synapse-s3-storage-provider) for you."
  23. msgstr ""
  24. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:14
  25. msgid "It is a media provider module for Synapse to store Synapse's content repository (`media_store`) files on Amazon S3 (or other S3-compatible service) object storage."
  26. msgstr ""
  27. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:16
  28. msgid "See the project's [documentation](https://github.com/matrix-org/synapse-s3-storage-provider/blob/main/README.md) to learn what it does and why it might be useful to you."
  29. msgstr ""
  30. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:18
  31. msgid "**Note**: alternatively you can use [Goofys to mount the S3 store to the local filesystem](configuring-playbook-s3-goofys.md) despite worse performance."
  32. msgstr ""
  33. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:20
  34. msgid "How it works?"
  35. msgstr ""
  36. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:22
  37. msgid "Summarized writings here are inspired by [this article](https://quentin.dufour.io/blog/2021-09-14/matrix-synapse-s3-storage/)."
  38. msgstr ""
  39. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:24
  40. msgid "The way media storage providers in Synapse work has some caveats:"
  41. msgstr ""
  42. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:26
  43. msgid "Synapse still continues to use locally-stored files (for creating thumbnails, serving files, etc)"
  44. msgstr ""
  45. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:27
  46. msgid "the media storage provider is just an extra storage mechanism (in addition to the local filesystem)"
  47. msgstr ""
  48. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:28
  49. msgid "all files are stored locally at first, and then copied to the media storage provider (either synchronously or asynchronously)"
  50. msgstr ""
  51. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:29
  52. msgid "if a file is not available on the local filesystem, it's pulled from a media storage provider"
  53. msgstr ""
  54. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:31
  55. msgid "You may be thinking **if all files are stored locally as well, what's the point**?"
  56. msgstr ""
  57. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:33
  58. msgid "You can run some scripts to delete the local files once in a while (which we do automatically by default — see [Periodically cleaning up the local filesystem](#periodically-cleaning-up-the-local-filesystem)), thus freeing up local disk space. If these files are needed in the future (for serving them to users, etc.), Synapse will pull them from the media storage provider on demand."
  59. msgstr ""
  60. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:35
  61. msgid "While you will need some local disk space around, it's only to accommodate usage, etc., and won't grow as large as your S3 store."
  62. msgstr ""
  63. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:37
  64. msgid "Adjusting the playbook configuration"
  65. msgstr ""
  66. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:39
  67. msgid "After [creating the S3 bucket and configuring it](configuring-playbook-s3.md#bucket-creation-and-security-configuration), add the following configuration to your `inventory/host_vars/matrix.example.com/vars.yml` file:"
  68. msgstr ""
  69. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:61
  70. msgid "Extending the configuration"
  71. msgstr ""
  72. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:63
  73. msgid "There are some additional things you may wish to configure about the server."
  74. msgstr ""
  75. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:65
  76. msgid "Take a look at:"
  77. msgstr ""
  78. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:67
  79. msgid "`roles/custom/matrix-synapse/defaults/main.yml` for some variables that you can customize via your `vars.yml` file"
  80. msgstr ""
  81. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:69
  82. msgid "Installing"
  83. msgstr ""
  84. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:71
  85. msgid "After configuring the playbook, run it with [playbook tags](playbook-tags.md) as below:"
  86. msgstr ""
  87. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:78
  88. msgid "The shortcut commands with the [`just` program](just.md) are also available: `just install-all` or `just setup-all`"
  89. msgstr ""
  90. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:80
  91. msgid "`just install-all` is useful for maintaining your setup quickly ([2x-5x faster](../CHANGELOG.md#2x-5x-performance-improvements-in-playbook-runtime) than `just setup-all`) when its components remain unchanged. If you adjust your `vars.yml` to remove other components, you'd need to run `just setup-all`, or these components will still remain installed. Note these shortcuts run the `ensure-matrix-users-created` tag too."
  92. msgstr ""
  93. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:82
  94. msgid "Usage"
  95. msgstr ""
  96. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:84
  97. msgid "If you have existing files in Synapse's media repository (`/matrix/synapse/storage/media-store/…`):"
  98. msgstr ""
  99. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:86
  100. msgid "new files will start being stored both locally and on the S3 store"
  101. msgstr ""
  102. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:87
  103. msgid "the existing files will remain on the local filesystem only until [migrating them to the S3 store](#migrating-your-existing-media-files-to-the-s3-store)"
  104. msgstr ""
  105. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:88
  106. msgid "at some point (and periodically in the future), you can delete local files which have been uploaded to the S3 store already"
  107. msgstr ""
  108. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:90
  109. msgid "Regardless of whether you need to [Migrate your existing files to the S3 store](#migrating-your-existing-media-files-to-the-s3-store) or not, make sure you've familiarized yourself with [How it works?](#how-it-works) above and [Periodically cleaning up the local filesystem](#periodically-cleaning-up-the-local-filesystem) below."
  110. msgstr ""
  111. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:92
  112. msgid "Migrating your existing media files to the S3 store"
  113. msgstr ""
  114. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:94
  115. msgid "Migrating your existing data can happen in multiple ways:"
  116. msgstr ""
  117. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:96
  118. msgid "[using the `s3_media_upload` script from `synapse-s3-storage-provider`](#using-the-s3_media_upload-script-from-synapse-s3-storage-provider) (very slow when dealing with lots of data)"
  119. msgstr ""
  120. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:97
  121. msgid "[using another tool in combination with `s3_media_upload`](#using-another-tool-in-combination-with-s3_media_upload) (quicker when dealing with lots of data)"
  122. msgstr ""
  123. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:99
  124. msgid "💡 **Note**: instead of using `s3_media_upload` directly, which is very slow and painful for an initial data migration, we recommend [using another tool in combination with `s3_media_upload`](#using-another-tool-in-combination-with-s3_media_upload)."
  125. msgstr ""
  126. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:101
  127. msgid "Using the `s3_media_upload` script from `synapse-s3-storage-provider`"
  128. msgstr ""
  129. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:103
  130. msgid "To copy your existing files, SSH into the server and run `/matrix/synapse/ext/s3-storage-provider/bin/shell`."
  131. msgstr ""
  132. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:105
  133. msgid "This launches a Synapse container, which has access to the local media store, Postgres database, S3 store and has some convenient environment variables configured for you to use (`MEDIA_PATH`, `BUCKET`, `ENDPOINT`, `UPDATE_DB_DAYS`, etc)."
  134. msgstr ""
  135. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:107
  136. msgid "Then use the following commands (`$` values come from environment variables — they're **not placeholders** that you need to substitute):"
  137. msgstr ""
  138. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:109
  139. msgid "`s3_media_upload update-db $UPDATE_DB_DURATION` — create a local SQLite database (`cache.db`) with a list of media repository files (from the `synapse` Postgres database) eligible for operating on"
  140. msgstr ""
  141. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:110
  142. msgid "`$UPDATE_DB_DURATION` is influenced by the `matrix_synapse_ext_synapse_s3_storage_provider_update_db_day_count` variable (defaults to `0`)"
  143. msgstr ""
  144. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:111
  145. msgid "`$UPDATE_DB_DURATION` defaults to `0d` (0 days), which means **include files which haven't been accessed for more than 0 days** (that is, **all files will be included**)."
  146. msgstr ""
  147. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:112
  148. msgid "`s3_media_upload check-deleted $MEDIA_PATH` — check whether files in the local cache still exist in the local media repository directory"
  149. msgstr ""
  150. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:113
  151. msgid "`s3_media_upload upload $MEDIA_PATH $BUCKET --delete --storage-class $STORAGE_CLASS --endpoint-url $ENDPOINT` — uploads locally-stored files to S3 and deletes them from the local media repository directory"
  152. msgstr ""
  153. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:115
  154. msgid "The `s3_media_upload upload` command may take a lot of time to complete."
  155. msgstr ""
  156. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:117
  157. msgid "Instead of running the above commands manually in the shell, you can also run the `/matrix/synapse/ext/s3-storage-provider/bin/migrate` script which will run the same commands automatically. We demonstrate how to do it manually, because:"
  158. msgstr ""
  159. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:119
  160. msgid "it's what the upstream project demonstrates and it teaches you how to use the `s3_media_upload` tool"
  161. msgstr ""
  162. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:120
  163. msgid "allows you to check and verify the output of each command, to catch mistakes"
  164. msgstr ""
  165. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:121
  166. msgid "includes progress bars and detailed output for each command"
  167. msgstr ""
  168. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:122
  169. msgid "allows you to easily interrupt slow-running commands, etc. (the `/matrix/synapse/ext/s3-storage-provider/bin/migrate` starts a container without interactive TTY support, so `Ctrl+C` may not work and you and require killing via `docker kill …`)"
  170. msgstr ""
  171. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:124
  172. msgid "Using another tool in combination with `s3_media_upload`"
  173. msgstr ""
  174. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:126
  175. msgid "To migrate your existing local data to S3, we recommend to:"
  176. msgstr ""
  177. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:128
  178. msgid "**first** use another tool ([`aws s3`](#copying-data-to-amazon-s3) or [`b2 sync`](#copying-data-to-backblaze-b2), etc.) to copy the local files to the S3 bucket"
  179. msgstr ""
  180. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:130
  181. msgid "**only then** [use the `s3_media_upload` tool to finish the migration](#using-the-s3_media_upload-script-from-synapse-s3-storage-provider) (this checks to ensure all files are uploaded and then deletes the local files)"
  182. msgstr ""
  183. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:132
  184. msgid "Copying data to Amazon S3"
  185. msgstr ""
  186. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:134
  187. msgid "To copy to AWS S3, start a container on the Matrix server like this:"
  188. msgstr ""
  189. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:146
  190. msgid "Copying data to an S3 alternative using the aws-s3 tool"
  191. msgstr ""
  192. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:148
  193. msgid "To copy to a provider other than AWS S3 (e.g. Storj, Wasabi, Digital Ocean Spaces, etc.), you can use the command for [Copying data to Amazon S3](#copying-data-to-amazon-s3) with an added `--endpoint-url=$ENDPOINT` argument."
  194. msgstr ""
  195. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:150
  196. msgid "Add this argument to the command **as-is** (`$ENDPOINT` is an environment variable corresponding to `matrix_synapse_ext_synapse_s3_storage_provider_config_endpoint_url`, so you don't need to touch it). Make sure to add the argument **before** the final quote (`'`) of the command."
  197. msgstr ""
  198. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:152
  199. msgid "Copying data to Backblaze B2"
  200. msgstr ""
  201. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:154
  202. msgid "You can copy files to Backblaze B2 either by following the [Copying data to an S3 alternative using the aws-s3 tool](#copying-data-to-an-s3-alternative-using-the-aws-s3-tool) or by using the B2-specific [b2 command-line tool](https://www.backblaze.com/b2/docs/quick_command_line.html) as described below."
  203. msgstr ""
  204. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:156
  205. msgid "To copy the data using the `b2` tool, start a container on the Matrix server like this:"
  206. msgstr ""
  207. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:170
  208. msgid "Periodically cleaning up the local filesystem"
  209. msgstr ""
  210. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:172
  211. msgid "As described in [How it works?](#how-it-works) above, when new media is uploaded to the Synapse homeserver, it's first stored locally and then also stored on the remote S3 storage."
  212. msgstr ""
  213. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:174
  214. msgid "By default, we periodically ensure that all local files are uploaded to S3 and are then removed from the local filesystem. This is done automatically using:"
  215. msgstr ""
  216. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:176
  217. msgid "the `/matrix/synapse/ext/s3-storage-provider/bin/migrate` script"
  218. msgstr ""
  219. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:177
  220. msgid "… invoked via the `matrix-synapse-s3-storage-provider-migrate.service` service"
  221. msgstr ""
  222. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:178
  223. msgid "… triggered by the `matrix-synapse-s3-storage-provider-migrate.timer` timer, every day at 05:00"
  224. msgstr ""
  225. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:180
  226. msgid "The same `migrate` script also prunes empty directories in the local media repository (`remote_content` and `remote_thumbnail`) after upload/delete operations."
  227. msgstr ""
  228. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:182
  229. msgid "So… you don't need to perform any maintenance yourself."
  230. msgstr ""
  231. #: ../../../docs/configuring-playbook-synapse-s3-storage-provider.md:184
  232. msgid "The schedule is defined in the format of systemd timer calendar. To edit the schedule, add the following configuration to your `vars.yml` file (adapt to your needs):"
  233. msgstr ""