diff --git a/docs/configuring-playbook-matrix-media-repo.md b/docs/configuring-playbook-matrix-media-repo.md index 7dc011bb8..713384c45 100644 --- a/docs/configuring-playbook-matrix-media-repo.md +++ b/docs/configuring-playbook-matrix-media-repo.md @@ -43,69 +43,47 @@ matrix_media_repo_database_max_connections: 25 matrix_media_repo_database_max_idle_connections: 5 # These users have full access to the administrative functions of the media repository. -# See https://github.com/turt2live/matrix-media-repo/blob/release-v1.2.8/docs/admin.md for -# information on what these people can do. They must belong to one of the configured -# homeservers above. -matrix_media_repo_admins: - admins: [] -# admins: -# - "@your_username:example.org" +# See docs/admin.md for information on what these people can do. They must belong to one of the +# configured homeservers above. +# matrix_media_repo_admins: [ +# "@your_username:example.org" +# ] -# Datastores are places where media should be persisted. This isn't dedicated for just uploads: -# thumbnails and other misc data is also stored in these places. The media repo, when looking -# for a datastore to use, will always use the smallest datastore first. -matrix_media_repo_datastores: - datastores: - - type: file - enabled: true # Enable this to set up data storage. - # Datastores can be split into many areas when handling uploads. Media is still de-duplicated - # across all datastores (local content which duplicates remote content will re-use the remote - # content's location). This option is useful if your datastore is becoming very large, or if - # you want faster storage for a particular kind of media. - # - # The kinds available are: - # thumbnails - Used to store thumbnails of media (local and remote). - # remote_media - Original copies of remote media (servers not configured by this repo). - # local_media - Original uploads for local media. - # archives - Archives of content (GDPR and similar requests). - forKinds: ["thumbnails", "remote_media", "local_media", "archives"] - opts: - path: /data/media +matrix_media_repo_admins: [] - - type: s3 - enabled: false # Enable this to set up s3 uploads - forKinds: ["thumbnails", "remote_media", "local_media", "archives"] - opts: - # The s3 uploader needs a temporary location to buffer files to reduce memory usage on - # small file uploads. If the file size is unknown, the file is written to this location - # before being uploaded to s3 (then the file is deleted). If you aren't concerned about - # memory usage, set this to an empty string. - tempPath: "/tmp/mediarepo_s3_upload" - endpoint: sfo2.digitaloceanspaces.com - accessKeyId: "" - accessSecret: "" - ssl: true - bucketName: "your-media-bucket" - # An optional region for where this S3 endpoint is located. Typically not needed, though - # some providers will need this (like Scaleway). Uncomment to use. - #region: "sfo2" - # An optional storage class for tuning how the media is stored at s3. - # See https://aws.amazon.com/s3/storage-classes/ for details; uncomment to use. - #storageClass: STANDARD +# Datastores can be split into many areas when handling uploads. Media is still de-duplicated +# across all datastores (local content which duplicates remote content will re-use the remote +# content's location). This option is useful if your datastore is becoming very large, or if +# you want faster storage for a particular kind of media. +# +# To disable this datastore, making it readonly, specify `forKinds: []`. +# +# The kinds available are: +# thumbnails - Used to store thumbnails of media (local and remote). +# remote_media - Original copies of remote media (servers not configured by this repo). +# local_media - Original uploads for local media. +# archives - Archives of content (GDPR and similar requests). +matrix_media_repo_datastore_file_for_kinds: ["thumbnails", "remote_media", "local_media", "archives"] +matrix_media_repo_datastore_s3_for_kinds: [] - # The media repo does support an IPFS datastore, but only if the IPFS feature is enabled. If - # the feature is not enabled, this will not work. Note that IPFS support is experimental at - # the moment and not recommended for general use. - # - # NOTE: Everything you upload to IPFS will be publicly accessible, even when the media repo - # puts authentication on the download endpoints. Only use this option for cases where you - # expect your media to be publicly accessible. - - type: ipfs - enabled: false # Enable this to use IPFS support - forKinds: ["local_media"] - # The IPFS datastore currently has no options. It will use the daemon or HTTP API configured - # in the IPFS section of your main config. - opts: {} +# The s3 uploader needs a temporary location to buffer files to reduce memory usage on +# small file uploads. If the file size is unknown, the file is written to this location +# before being uploaded to s3 (then the file is deleted). If you aren't concerned about +# memory usage, set this to an empty string. +matrix_media_repo_datastore_s3_opts_temp_path: "" +matrix_media_repo_datastore_s3_opts_endpoint: "sfo2.digitaloceanspaces.com" +matrix_media_repo_datastore_s3_opts_access_key_id: "" +matrix_media_repo_datastore_s3_opts_access_secret: "" +matrix_media_repo_datastore_s3_opts_ssl: true +matrix_media_repo_datastore_s3_opts_bucket_name: "your-media-bucket" + +# An optional region for where this S3 endpoint is located. Typically not needed, though +# some providers will need this (like Scaleway). Uncomment to use. +# matrix_media_repo_datastore_s3_opts_region: "sfo2" + +# An optional storage class for tuning how the media is stored at s3. +# See https://aws.amazon.com/s3/storage-classes/ for details; uncomment to use. +# matrix_media_repo_datastore_s3_opts_storage_class: "STANDARD" ``` diff --git a/docs/prerequisites.md b/docs/prerequisites.md index be60a5f45..d68704397 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -18,6 +18,8 @@ If your distro runs within an [LXC container](https://linuxcontainers.org/), you - [Python](https://www.python.org/) being installed on the server. Most distributions install Python by default, but some don't (e.g. Ubuntu 18.04) and require manual installation (something like `apt-get install python3`). On some distros, Ansible may incorrectly [detect the Python version](https://docs.ansible.com/ansible/latest/reference_appendices/interpreter_discovery.html) (2 vs 3) and you may need to explicitly specify the interpreter path in `inventory/hosts` during installation (e.g. `ansible_python_interpreter=/usr/bin/python3`) +- [sudo](https://www.sudo.ws/) being installed on the server, even when you've configured Ansible to log in as `root`. Some distributions, like a minimal Debian net install, do not include the `sudo` package by default. + - The [Ansible](http://ansible.com/) program being installed on your own computer. It's used to run this playbook and configures your server for you. Take a look at [our guide about Ansible](ansible.md) for more information, as well as [version requirements](ansible.md#supported-ansible-versions) and alternative ways to run Ansible. - the [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library installed on the computer you run Ansible. On most distros, you need to install some `python-passlib` or `py3-passlib` package, etc. diff --git a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml index 9bf55e171..5578fa3ef 100644 --- a/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-gmessages/defaults/main.yml @@ -9,7 +9,7 @@ matrix_mautrix_gmessages_container_image_self_build_repo: "https://github.com/ma matrix_mautrix_gmessages_container_image_self_build_branch: "{{ 'main' if matrix_mautrix_gmessages_version == 'latest' else matrix_mautrix_gmessages_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/gmessages -matrix_mautrix_gmessages_version: v0.2.2 +matrix_mautrix_gmessages_version: v0.2.3 # See: https://mau.dev/mautrix/gmessages/container_registry matrix_mautrix_gmessages_docker_image: "{{ matrix_mautrix_gmessages_docker_image_name_prefix }}mautrix/gmessages:{{ matrix_mautrix_gmessages_version }}" diff --git a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml index 7756cb672..11d60a85c 100644 --- a/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml +++ b/roles/custom/matrix-bridge-mautrix-whatsapp/defaults/main.yml @@ -9,7 +9,7 @@ matrix_mautrix_whatsapp_container_image_self_build_repo: "https://mau.dev/mautri matrix_mautrix_whatsapp_container_image_self_build_branch: "{{ 'master' if matrix_mautrix_whatsapp_version == 'latest' else matrix_mautrix_whatsapp_version }}" # renovate: datasource=docker depName=dock.mau.dev/mautrix/whatsapp -matrix_mautrix_whatsapp_version: v0.10.4 +matrix_mautrix_whatsapp_version: v0.10.5 # See: https://mau.dev/mautrix/whatsapp/container_registry matrix_mautrix_whatsapp_docker_image: "{{ matrix_mautrix_whatsapp_docker_image_name_prefix }}mautrix/whatsapp:{{ matrix_mautrix_whatsapp_version }}" diff --git a/roles/custom/matrix-media-repo/defaults/main.yml b/roles/custom/matrix-media-repo/defaults/main.yml index 8aada0896..2796b5a3e 100644 --- a/roles/custom/matrix-media-repo/defaults/main.yml +++ b/roles/custom/matrix-media-repo/defaults/main.yml @@ -124,7 +124,7 @@ matrix_media_repo_federation_ignored_hosts: [] # Do NOT put your homeserver's existing database credentials here. Create a new database and # user instead. Using the same server is fine, just not the same username and database. matrix_media_repo_database_username: "matrix_media_repo" -matrix_media_repo_database_password: "your_password" +matrix_media_repo_database_password: "" matrix_media_repo_database_hostname: "{{ devture_postgres_identifier }}" matrix_media_repo_database_port: 5432 matrix_media_repo_database_name: "matrix_media_repo" @@ -289,7 +289,7 @@ matrix_media_repo_datastore_s3_for_kinds: [] # small file uploads. If the file size is unknown, the file is written to this location # before being uploaded to s3 (then the file is deleted). If you aren't concerned about # memory usage, set this to an empty string. -matrix_media_repo_datastore_s3_opts_temp_path: "/tmp/mediarepo_s3_upload" +matrix_media_repo_datastore_s3_opts_temp_path: "" matrix_media_repo_datastore_s3_opts_endpoint: "sfo2.digitaloceanspaces.com" matrix_media_repo_datastore_s3_opts_access_key_id: "" matrix_media_repo_datastore_s3_opts_access_secret: "" diff --git a/roles/custom/matrix-synapse/defaults/main.yml b/roles/custom/matrix-synapse/defaults/main.yml index 1b00d22a0..5b8b5d3f7 100644 --- a/roles/custom/matrix-synapse/defaults/main.yml +++ b/roles/custom/matrix-synapse/defaults/main.yml @@ -785,6 +785,8 @@ matrix_synapse_sentry_dsn: "" matrix_synapse_database_txn_limit: 0 matrix_synapse_database_host: '' matrix_synapse_database_port: 5432 +matrix_synapse_database_cp_min: 5 +matrix_synapse_database_cp_max: 10 matrix_synapse_database_user: "synapse" matrix_synapse_database_password: "" matrix_synapse_database_database: "synapse" diff --git a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 index 298b89e3a..c01f1b393 100644 --- a/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 +++ b/roles/custom/matrix-synapse/templates/synapse/homeserver.yaml.j2 @@ -874,8 +874,8 @@ database: database: "{{ matrix_synapse_database_database }}" host: "{{ matrix_synapse_database_host }}" port: {{ matrix_synapse_database_port }} - cp_min: 5 - cp_max: 10 + cp_min: {{ matrix_synapse_database_cp_min | to_json }} + cp_max: {{ matrix_synapse_database_cp_max | to_json }} ## Logging ##