matrix-docker-ansible-deploy/docs/self-building.md

32 lines
1.8 KiB
Markdown
Raw Normal View History

2020-03-15 18:54:41 +08:00
# Self-building
2020-03-15 03:41:01 +08:00
**Caution: self-building does not have to be used on its own. See the [Alternative Architectures](alternative-architectures.md) page.**
2021-01-24 16:08:11 +08:00
The playbook supports self-building of various components, which don't have a container image for your architecture (see the [container images we use](container-images.md)). For `amd64`, self-building is not required.
2020-03-15 03:41:01 +08:00
For other architectures (e.g. `arm32`, `arm64`), ready-made container images are used when available. If there's no ready-made image for a specific component and said component supports self-building, an image will be built on the host. Building images like this takes more time and resources (some build tools need to get installed by the playbook to assist building).
2020-03-15 03:41:01 +08:00
2021-01-24 16:08:11 +08:00
To make use of self-building, you don't need to do anything besides change your architecture variable (e.g. `matrix_architecture: arm64`). If a component has an image for the specified architecture, the playbook will use it directly. If not, it will build the image on the server itself.
Note that **not all components support self-building yet**.
2021-01-24 16:08:11 +08:00
List of roles where self-building the Docker image is currently possible:
- `matrix-synapse`
- `matrix-synapse-admin`
- `matrix-client-element`
2020-09-01 18:46:05 +08:00
- `matrix-registration`
- `matrix-coturn`
- `matrix-corporal`
- `matrix-ma1sd`
- `matrix-mailer`
2021-01-23 04:28:53 +08:00
- `matrix-bridge-appservice-irc`
2021-01-14 08:29:11 +08:00
- `matrix-bridge-appservice-slack`
- `matrix-bridge-mautrix-facebook`
- `matrix-bridge-mautrix-hangouts`
- `matrix-bridge-mautrix-telegram`
- `matrix-bridge-mx-puppet-skype`
2020-03-15 18:54:41 +08:00
Adding self-building support to other roles is welcome. Feel free to contribute!
If you'd like **to force self-building** even if an image is available for your architecture, look into the `matrix_*_self_build` variables provided by individual roles.