diff --git a/docs/services/mrs.md b/docs/services/mrs.md new file mode 100644 index 0000000..5137a6c --- /dev/null +++ b/docs/services/mrs.md @@ -0,0 +1,48 @@ +# Matrix Rooms Search API + +[Matrix Rooms Search](https://gitlab.com/etke.cc/mrs) is a fully-featured, standalone, [Matrix](https://matrix.org/) rooms search service. + +## Dependencies + +This service requires the following other services: + +- a [Traefik](traefik.md) reverse-proxy server + + +## Configuration + +To enable this service, add the following configuration to your `vars.yml` file and re-run the [installation](../installing.md) process: + +```yaml +######################################################################## +# # +# mrs # +# # +######################################################################## + +mrs_enabled: true +mrs_hostname: mrs.example.com + +mrs_admin_login: admin +mrs_admin_password: changeme +mrs_admin_ips: + - 123.123.123.123 + +mrs_servers: + - matrix.org + +######################################################################## +# # +# /mrs # +# # +######################################################################## +``` + +In the example configuration above, we configure the service to be hosted at `https://mrs.example.com`. + + +## Usage + +After installation, call the `https://mrs.example.com/-/full` endpoint using admin credentials (see the `mrs_admin_*` variables) to discover and parse content. + +To see the list of supported public and private APIs, see the [API documentation](https://gitlab.com/etke.cc/mrs/api/-/blob/main/openapi.yml). diff --git a/docs/supported-services.md b/docs/supported-services.md index 7957037..080c852 100644 --- a/docs/supported-services.md +++ b/docs/supported-services.md @@ -20,6 +20,7 @@ | [Jitsi](https://jitsi.org/) | A fully encrypted, 100% Open Source video conferencing solution | [Link](services/jitsi.md) | | [Keycloak](https://www.keycloak.org/) | An open source identity and access management solution. | [Link](services/keycloak.md) | | [MariaDB](https://mariadb.org/) | A powerful, open source object-relational database system | [Link](services/mariadb.md) | +| [Matrix Rooms Search API](https://gitlab.com/etke.cc/mrs/api) | A fully-featured, standalone, matrix rooms search service. | [Link](services/mrs.md) | | [Miniflux](https://miniflux.app/) | Minimalist and opinionated feed reader. | [Link](services/miniflux.md) | | [Navidrome](https://www.navidrome.org/) | [Subsonic-API](http://www.subsonic.org/pages/api.jsp) compatible music server | [Link](services/navidrome.md) | [NetBox](https://docs.netbox.dev/en/stable/) | Web application that provides [IP address management (IPAM)](https://en.wikipedia.org/wiki/IP_address_management) and [data center infrastructure management (DCIM)](https://en.wikipedia.org/wiki/Data_center_management#Data_center_infrastructure_management) functionality | [Link](services/netbox.md) | diff --git a/group_vars/mash_servers b/group_vars/mash_servers index 4697826..1ff4301 100644 --- a/group_vars/mash_servers +++ b/group_vars/mash_servers @@ -121,6 +121,8 @@ devture_systemd_service_manager_services_list_auto: | + ([{'name': (miniflux_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'miniflux']}] if miniflux_enabled else []) + + ([{'name': (mrs_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'mrs']}] if mrs_enabled else []) + + ([{'name': (navidrome_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'navidrome']}] if navidrome_enabled else []) + ([{'name': (netbox_identifier + '.service'), 'priority': 2000, 'groups': ['mash', 'netbox', 'netbox-server']}] if netbox_enabled else []) @@ -1223,6 +1225,40 @@ miniflux_database_password: "{{ '%s' | format(mash_playbook_generic_secret_key) + +######################################################################## +# # +# mrs # +# # +######################################################################## + +mrs_enabled: false + +mrs_identifier: "{{ mash_playbook_service_identifier_prefix }}mrs" + +mrs_base_path: "{{ mash_playbook_base_path }}/{{ mash_playbook_service_base_directory_name_prefix }}mrs" + +mrs_uid: "{{ mash_playbook_uid }}" +mrs_gid: "{{ mash_playbook_gid }}" + +mrs_container_additional_networks: | + {{ + ([mash_playbook_reverse_proxyable_services_additional_network] if mash_playbook_reverse_proxyable_services_additional_network else []) + }} + +mrs_container_labels_traefik_enabled: "{{ mash_playbook_traefik_labels_enabled }}" +mrs_container_labels_traefik_docker_network: "{{ mash_playbook_reverse_proxyable_services_additional_network }}" +mrs_container_labels_traefik_entrypoints: "{{ devture_traefik_entrypoint_primary }}" +mrs_container_labels_traefik_tls_certResolver: "{{ devture_traefik_certResolver_primary }}" + +######################################################################## +# # +# /mrs # +# # +######################################################################## + + + ######################################################################## # # # navidrome # diff --git a/requirements.yml b/requirements.yml index a46ac85..4fcd30e 100644 --- a/requirements.yml +++ b/requirements.yml @@ -83,6 +83,9 @@ name: mariadb - src: git+https://gitlab.com/etke.cc/roles/miniflux.git version: v2.0.43-2 +- src: git+https://gitlab.com/etke.cc/mrs/ansible-role-mrs.git + version: v0.0.0-0 + name: mrs - src: git+https://github.com/mother-of-all-self-hosting/ansible-role-navidrome.git version: v0.49.3-2 name: navidrome diff --git a/setup.yml b/setup.yml index b1f2bb6..470445a 100644 --- a/setup.yml +++ b/setup.yml @@ -78,6 +78,8 @@ - role: galaxy/miniflux + - role: galaxy/mrs + - role: galaxy/healthchecks - role: galaxy/hubsite