diff --git a/roles/matrix-server/defaults/main.yml b/roles/matrix-server/defaults/main.yml
index c85ae7964..4e40df271 100644
--- a/roles/matrix-server/defaults/main.yml
+++ b/roles/matrix-server/defaults/main.yml
@@ -323,6 +323,17 @@ matrix_riot_web_roomdir_servers: ['matrix.org']
matrix_riot_web_welcome_user_id: "@riot-bot:matrix.org"
+# Riot home.html customizations
+# Default home.html template file
+matrix_riot_web_homepage_template: "{{ role_path }}/templates/riot-web/home.html.j2"
+# Show general discussion about Matrix and Riot row
+matrix_riot_web_homepage_template_general: true
+# Show Matrix technical discussions row
+matrix_riot_web_homepage_template_technical: true
+# Show building services on Matrix row
+matrix_riot_web_homepage_template_building: true
+# Show contributing code to Matrix and Riot row
+matrix_riot_web_homepage_template_contributing: true
# Matrix mautrix is a Matrix <-> Telegram bridge
# Enable telegram bridge
diff --git a/roles/matrix-server/tasks/setup/setup_riot_web.yml b/roles/matrix-server/tasks/setup/setup_riot_web.yml
index dad384c1c..60b1cdcd6 100644
--- a/roles/matrix-server/tasks/setup/setup_riot_web.yml
+++ b/roles/matrix-server/tasks/setup/setup_riot_web.yml
@@ -20,14 +20,15 @@
- name: Ensure Matrix riot-web configured
template:
- src: "{{ role_path }}/templates/riot-web/{{ item }}.j2"
- dest: "{{ matrix_riot_web_data_path }}/{{ item }}"
+ src: "{{ item.src }}"
+ dest: "{{ matrix_riot_web_data_path }}/{{ item.name }}"
mode: 0644
owner: "{{ matrix_user_username }}"
group: "{{ matrix_user_username }}"
with_items:
- - "riot.im.conf"
- - "config.json"
+ - {src: "{{ role_path }}/templates/riot-web/riot.im.conf.j2", name: "riot.im.conf"}
+ - {src: "{{ role_path }}/templates/riot-web/config.json.j2", name: "config.json"}
+ - {src: "{{ matrix_riot_web_homepage_template }}", name: "home.html"}
when: matrix_riot_web_enabled
- name: Ensure matrix-riot-web.service installed
diff --git a/roles/matrix-server/templates/riot-web/home.html.j2 b/roles/matrix-server/templates/riot-web/home.html.j2
new file mode 100644
index 000000000..8f191caa2
--- /dev/null
+++ b/roles/matrix-server/templates/riot-web/home.html.j2
@@ -0,0 +1,308 @@
+
+
+
+
+
+
+
+
_t("Search the room directory")
+
+
+
+
+
+
+{% if matrix_riot_web_welcome_user_id %}
+
+
+
_t("Chat with Riot Bot")
+
+
+
+
+
+
+{% endif %}
+
+{% if matrix_riot_web_homepage_template_general %}
+
+
_t("General discussion about Matrix and Riot")
+
+
+
+
+
+ Matrix HQ
+
+
_t("Discussion of all things Matrix!")
+
+
+
+
+ Riot
+
+
_t("Riot/Web & Desktop chat")
+
+
+
+
+ #riot-ios
+
+
_t("Riot/iOS & matrix-ios-sdk chat")
+
+
+
+
+ #riot-android
+
+
_t("Riot/Android & matrix-android-sdk chat")
+
+
+{% endif %}
+{% if matrix_riot_web_homepage_template_technical %}
+
+
_t("Matrix technical discussions")
+
_t("Running Matrix services")
+
+
+
+
+
+ Matrix Docker Ansible Deploy
+
+
_t("Support for Matrix Docker Ansible role")
+
+
+
+
+ Synapse Support Community
+
+
_t("Community-run support for Synapse")
+
+
+
+
+ #dendrite:matrix.org
+
+
_t("Admin support for Dendrite")
+
+
+
+
+ Synapse Homeowners
+
+
_t("Announcements about Synapse releases")
+
+
+
+
+ IRC Matrix Bridges
+
+
_t("Support for those using and running matrix-appservice-irc")
+
+
+{% endif %}
+{% if matrix_riot_web_homepage_template_building %}
+
+
_t("Building services on Matrix")
+
+
+
+
+
+ #matrix-dev:matrix.org
+
+
_t("Support for those using the Matrix spec")
+
+
+
+
+ End-to-end crypto in Matrix
+
+
_t("Design and implementation of E2E in Matrix")
+
+
+
+
+ #vr:matrix.org
+
+
_t("Implementing VR services with Matrix")
+
+
+
+
+ #webrtc:matrix.org
+
+
_t("Implementing VoIP services with Matrix")
+
+
+
+
+ Matrix Identity
+
+
_t("Discussion of the Identity Service API")
+
+
+
+
+ Matrix Bridging
+
+
_t("Support for those using, running and writing other bridges")
+
+
+{% endif %}
+{% if matrix_riot_web_homepage_template_contributing %}
+
_t("Contributing code to Matrix and Riot")
+
+
+
+
+
+ #riot-dev
+
+
_t("Dev chat for the Riot/Web dev team")
+
+
+
+
+ #dendrite-dev
+
+
_t("Dev chat for the Dendrite dev team")
+
+
+
+
+ Riot Translations
+
+
_t("Co-ordination for Riot translators")
+
+
+{% endif %}
+
diff --git a/roles/matrix-server/templates/systemd/matrix-riot-web.service.j2 b/roles/matrix-server/templates/systemd/matrix-riot-web.service.j2
index 3573c0d5d..806402d50 100644
--- a/roles/matrix-server/templates/systemd/matrix-riot-web.service.j2
+++ b/roles/matrix-server/templates/systemd/matrix-riot-web.service.j2
@@ -11,6 +11,7 @@ ExecStart=/usr/bin/docker run --rm --name matrix-riot-web \
--log-driver=none \
--user={{ matrix_user_uid }}:{{ matrix_user_gid }} \
-v {{ matrix_riot_web_data_path }}/config.json:/riot-web/webapp/config.json:ro \
+ -v {{ matrix_riot_web_data_path }}/home.html:/riot-web/webapp/home.html:ro \
-v {{ matrix_riot_web_data_path }}/riot.im.conf:/data/riot.im.conf:ro \
--network={{ matrix_docker_network }} \
{% if not matrix_nginx_proxy_enabled %}