From 01bed6d51279c4b1913b2c88d6e19e4f24f527a6 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 18 Nov 2024 03:13:42 +0900 Subject: [PATCH 1/7] Edit docs/prerequisites.md: add an item for a password generator Since it is required to create and input a strong password (random strings) on vars.yml, this commit adds a password generator as a required software to configure and run the playbook. Password Tech, reportedly formerly known as "PWGen for Windows", is linked from https://github.com/jbernard/pwgen Signed-off-by: Suguru Hirahara --- docs/prerequisites.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/prerequisites.md b/docs/prerequisites.md index 7ce3714e5..9741ff578 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -30,6 +30,8 @@ To install Matrix services using this Ansible playbook, you need: - [`just`](https://github.com/casey/just) for running `just roles`, `just update`, etc. (see [`justfile`](../justfile)), although you can also run these commands manually +- Strong password (random strings) generator on your own computer. The playbook often requires you to create a strong password and use it for settings on `vars.yml`, components, etc. As any tools should be fine, this playbook has adopted [`pwgen`](https://linux.die.net/man/1/pwgen) (running `pwgen -s 64 1`). [Password Tech](https://pwgen-win.sourceforge.io/), formerly known as "PWGen for Windows", is available as free and open source password generator for Windows. Generally, using a random generator available on the internet is not recommended. + - An HTTPS-capable web server at the base domain name (`example.com`) which is capable of serving static files. Unless you decide to [Serve the base domain from the Matrix server](configuring-playbook-base-domain-serving.md) or alternatively, to use DNS SRV records for [Server Delegation](howto-server-delegation.md). - Properly configured DNS records for `example.com` (details in [Configuring DNS](configuring-dns.md)). From 39c21816ca472e7a17fef2f15c69f064bbee5079 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 18 Nov 2024 12:38:39 +0900 Subject: [PATCH 2/7] Edit docs/prerequisites.md: create categories for required software on the remote server and local computer Signed-off-by: Suguru Hirahara --- docs/prerequisites.md | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/docs/prerequisites.md b/docs/prerequisites.md index 9741ff578..2fea38d1f 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -4,6 +4,8 @@ To install Matrix services using this Ansible playbook, you need: +## Server + - (Recommended) An **x86** server ([What kind of server specs do I need?](faq.md#what-kind-of-server-specs-do-i-need)) running one of these operating systems that make use of [systemd](https://systemd.io/): - **Archlinux** - **CentOS**, **Rocky Linux**, **AlmaLinux**, or possibly other RHEL alternatives (although your mileage may vary) @@ -22,16 +24,6 @@ To install Matrix services using this Ansible playbook, you need: - [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. - -- [`git`](https://git-scm.com/) is the recommended way to download the playbook to your computer. `git` may also be required on the server if you will be [self-building](self-building.md) components. - -- [`just`](https://github.com/casey/just) for running `just roles`, `just update`, etc. (see [`justfile`](../justfile)), although you can also run these commands manually - -- Strong password (random strings) generator on your own computer. The playbook often requires you to create a strong password and use it for settings on `vars.yml`, components, etc. As any tools should be fine, this playbook has adopted [`pwgen`](https://linux.die.net/man/1/pwgen) (running `pwgen -s 64 1`). [Password Tech](https://pwgen-win.sourceforge.io/), formerly known as "PWGen for Windows", is available as free and open source password generator for Windows. Generally, using a random generator available on the internet is not recommended. - - An HTTPS-capable web server at the base domain name (`example.com`) which is capable of serving static files. Unless you decide to [Serve the base domain from the Matrix server](configuring-playbook-base-domain-serving.md) or alternatively, to use DNS SRV records for [Server Delegation](howto-server-delegation.md). - Properly configured DNS records for `example.com` (details in [Configuring DNS](configuring-dns.md)). @@ -48,6 +40,18 @@ To install Matrix services using this Ansible playbook, you need: - the range `49152-49172/udp`: TURN over UDP - potentially some other ports, depending on the additional (non-default) services that you enable in the **configuring the playbook** step (later on). Consult each service's documentation page in `docs/` for that. +## Your local computer + +- 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. + +- [`git`](https://git-scm.com/) is the recommended way to download the playbook to your computer. `git` may also be required on the server if you will be [self-building](self-building.md) components. + +- [`just`](https://github.com/casey/just) for running `just roles`, `just update`, etc. (see [`justfile`](../justfile)), although you can also run these commands manually + +- Strong password (random strings) generator on your own computer. The playbook often requires you to create a strong password and use it for settings on `vars.yml`, components, etc. As any tools should be fine, this playbook has adopted [`pwgen`](https://linux.die.net/man/1/pwgen) (running `pwgen -s 64 1`). [Password Tech](https://pwgen-win.sourceforge.io/), formerly known as "PWGen for Windows", is available as free and open source password generator for Windows. Generally, using a random generator available on the internet is not recommended. + --------------------------------------------- [▶️](configuring-dns.md) When ready to proceed, continue with [Configuring DNS](configuring-dns.md). From c7148d8b0566c720cc06a9699291edfd3aaa989b Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 18 Nov 2024 12:44:06 +0900 Subject: [PATCH 3/7] Edit docs/prerequisites.md: remove instructions to install whether on the remove server or on your local computer Signed-off-by: Suguru Hirahara --- docs/prerequisites.md | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/docs/prerequisites.md b/docs/prerequisites.md index 2fea38d1f..e4f10b83c 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -20,9 +20,9 @@ To install Matrix services using this Ansible playbook, you need: - `root` access to your server (or a user capable of elevating to `root` via `sudo`). -- [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`) +- [Python](https://www.python.org/). 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. +- [sudo](https://www.sudo.ws/), 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. - An HTTPS-capable web server at the base domain name (`example.com`) which is capable of serving static files. Unless you decide to [Serve the base domain from the Matrix server](configuring-playbook-base-domain-serving.md) or alternatively, to use DNS SRV records for [Server Delegation](howto-server-delegation.md). @@ -42,15 +42,15 @@ To install Matrix services using this Ansible playbook, you need: ## Your local computer -- 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 [Ansible](http://ansible.com/) program. 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. +- the [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library. On most distros, you need to install some `python-passlib` or `py3-passlib` package, etc. -- [`git`](https://git-scm.com/) is the recommended way to download the playbook to your computer. `git` may also be required on the server if you will be [self-building](self-building.md) components. +- [`git`](https://git-scm.com/) is the recommended way to download the playbook. `git` may also be required on the server if you will be [self-building](self-building.md) components. - [`just`](https://github.com/casey/just) for running `just roles`, `just update`, etc. (see [`justfile`](../justfile)), although you can also run these commands manually -- Strong password (random strings) generator on your own computer. The playbook often requires you to create a strong password and use it for settings on `vars.yml`, components, etc. As any tools should be fine, this playbook has adopted [`pwgen`](https://linux.die.net/man/1/pwgen) (running `pwgen -s 64 1`). [Password Tech](https://pwgen-win.sourceforge.io/), formerly known as "PWGen for Windows", is available as free and open source password generator for Windows. Generally, using a random generator available on the internet is not recommended. +- Strong password (random strings) generator. The playbook often requires you to create a strong password and use it for settings on `vars.yml`, components, etc. As any tools should be fine, this playbook has adopted [`pwgen`](https://linux.die.net/man/1/pwgen) (running `pwgen -s 64 1`). [Password Tech](https://pwgen-win.sourceforge.io/), formerly known as "PWGen for Windows", is available as free and open source password generator for Windows. Generally, using a random generator available on the internet is not recommended. --------------------------------------------- From 43d1760077f17038d14ec8390f698b6b77e442be Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 18 Nov 2024 12:48:56 +0900 Subject: [PATCH 4/7] Edit docs/prerequisites.md: move the section for the local computer up This change should make it easier to notice Ansible version requirement Signed-off-by: Suguru Hirahara --- docs/prerequisites.md | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/docs/prerequisites.md b/docs/prerequisites.md index e4f10b83c..bac852efe 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -4,6 +4,18 @@ To install Matrix services using this Ansible playbook, you need: +## Your local computer + +- The [Ansible](http://ansible.com/) program. 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. On most distros, you need to install some `python-passlib` or `py3-passlib` package, etc. + +- [`git`](https://git-scm.com/) is the recommended way to download the playbook. `git` may also be required on the server if you will be [self-building](self-building.md) components. + +- [`just`](https://github.com/casey/just) for running `just roles`, `just update`, etc. (see [`justfile`](../justfile)), although you can also run these commands manually + +- Strong password (random strings) generator. The playbook often requires you to create a strong password and use it for settings on `vars.yml`, components, etc. As any tools should be fine, this playbook has adopted [`pwgen`](https://linux.die.net/man/1/pwgen) (running `pwgen -s 64 1`). [Password Tech](https://pwgen-win.sourceforge.io/), formerly known as "PWGen for Windows", is available as free and open source password generator for Windows. Generally, using a random generator available on the internet is not recommended. + ## Server - (Recommended) An **x86** server ([What kind of server specs do I need?](faq.md#what-kind-of-server-specs-do-i-need)) running one of these operating systems that make use of [systemd](https://systemd.io/): @@ -40,18 +52,6 @@ To install Matrix services using this Ansible playbook, you need: - the range `49152-49172/udp`: TURN over UDP - potentially some other ports, depending on the additional (non-default) services that you enable in the **configuring the playbook** step (later on). Consult each service's documentation page in `docs/` for that. -## Your local computer - -- The [Ansible](http://ansible.com/) program. 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. On most distros, you need to install some `python-passlib` or `py3-passlib` package, etc. - -- [`git`](https://git-scm.com/) is the recommended way to download the playbook. `git` may also be required on the server if you will be [self-building](self-building.md) components. - -- [`just`](https://github.com/casey/just) for running `just roles`, `just update`, etc. (see [`justfile`](../justfile)), although you can also run these commands manually - -- Strong password (random strings) generator. The playbook often requires you to create a strong password and use it for settings on `vars.yml`, components, etc. As any tools should be fine, this playbook has adopted [`pwgen`](https://linux.die.net/man/1/pwgen) (running `pwgen -s 64 1`). [Password Tech](https://pwgen-win.sourceforge.io/), formerly known as "PWGen for Windows", is available as free and open source password generator for Windows. Generally, using a random generator available on the internet is not recommended. - --------------------------------------------- [▶️](configuring-dns.md) When ready to proceed, continue with [Configuring DNS](configuring-dns.md). From 12b67f7925ccfd8b4fff1e8ee560dbf0d5c696df Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 18 Nov 2024 12:50:20 +0900 Subject: [PATCH 5/7] Edit docs/prerequisites.md: entries for local computer Signed-off-by: Suguru Hirahara --- docs/prerequisites.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/docs/prerequisites.md b/docs/prerequisites.md index bac852efe..a6bce0891 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -6,11 +6,11 @@ To install Matrix services using this Ansible playbook, you need: ## Your local computer -- The [Ansible](http://ansible.com/) program. 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. +- [Ansible](http://ansible.com/) program. 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. On most distros, you need to install some `python-passlib` or `py3-passlib` package, etc. +- [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library. On most distros, you need to install some `python-passlib` or `py3-passlib` package, etc. -- [`git`](https://git-scm.com/) is the recommended way to download the playbook. `git` may also be required on the server if you will be [self-building](self-building.md) components. +- [`git`](https://git-scm.com/) as the recommended way to download the playbook. `git` may also be required on the server if you will be [self-building](self-building.md) components. - [`just`](https://github.com/casey/just) for running `just roles`, `just update`, etc. (see [`justfile`](../justfile)), although you can also run these commands manually From e38f433177e72ee63502332b891f6f5fa5316d24 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 18 Nov 2024 13:08:17 +0900 Subject: [PATCH 6/7] Edit docs/prerequisites.md: add an introductory paragraph Signed-off-by: Suguru Hirahara --- docs/prerequisites.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/prerequisites.md b/docs/prerequisites.md index a6bce0891..0045104ef 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -2,7 +2,7 @@ ⚡️[Quick start](README.md) | Prerequisites > [Configuring your DNS settings](configuring-dns.md) > [Getting the playbook](getting-the-playbook.md) > [Configuring the playbook](configuring-playbook.md) > [Installing](installing.md) -To install Matrix services using this Ansible playbook, you need: +To install Matrix services using this Ansible playbook, you need to prepare several requirements both on your local computer (where you will run the playbook to configure the server) and the server (where the playbook will install the Matrix services for you). **These requirements need to be set up manually** before proceeding to the next step. ## Your local computer From b1dec4a123db9c783fbcbd2315245c08e817fd07 Mon Sep 17 00:00:00 2001 From: Suguru Hirahara Date: Mon, 18 Nov 2024 15:46:26 +0900 Subject: [PATCH 7/7] Edit docs/prerequisites.md: add an anchor link to the official documentation of passlib Signed-off-by: Suguru Hirahara --- docs/prerequisites.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/prerequisites.md b/docs/prerequisites.md index 0045104ef..744227823 100644 --- a/docs/prerequisites.md +++ b/docs/prerequisites.md @@ -8,7 +8,7 @@ To install Matrix services using this Ansible playbook, you need to prepare seve - [Ansible](http://ansible.com/) program. 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. -- [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library. On most distros, you need to install some `python-passlib` or `py3-passlib` package, etc. +- [passlib](https://passlib.readthedocs.io/en/stable/index.html) Python library. See [this official documentation](https://passlib.readthedocs.io/en/stable/install.html#installation-instructions) for an instruction to install it. On most distros, you need to install some `python-passlib` or `py3-passlib` package, etc. - [`git`](https://git-scm.com/) as the recommended way to download the playbook. `git` may also be required on the server if you will be [self-building](self-building.md) components.