From aec84034c922eb299a8d095b31e86a3c8376804c Mon Sep 17 00:00:00 2001
From: Eliot Berriot <contact@eliotberriot.com>
Date: Fri, 12 Jul 2019 11:52:26 +0200
Subject: [PATCH] Allow specifying a custom frontend, if needed

---
 defaults/main.yml       | 1 +
 tasks/funkwhale.yml     | 1 +
 tasks/main.yml          | 5 +++++
 templates/env.j2        | 4 ++--
 templates/nginx.conf.j2 | 5 +++--
 5 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/defaults/main.yml b/defaults/main.yml
index 4619417..2a1f3e7 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -8,6 +8,7 @@ funkwhale_config_path: /srv/funkwhale/config
 funkwhale_external_storage_enabled: false
 funkwhale_username: funkwhale
 funkwhale_database_managed: true
+funkwhale_frontend_managed: true
 funkwhale_database_name: funkwhale
 funkwhale_database_user: funkwhale
 funkwhale_nginx_managed: true
diff --git a/tasks/funkwhale.yml b/tasks/funkwhale.yml
index 01d9f44..9e6a0f9 100644
--- a/tasks/funkwhale.yml
+++ b/tasks/funkwhale.yml
@@ -70,6 +70,7 @@
 - name: Download front-end files
   become: true
   become_user: "{{ funkwhale_username }}"
+  when: funkwhale_frontend_managed
   unarchive:
     src: https://dev.funkwhale.audio/funkwhale/funkwhale/-/jobs/artifacts/{{ funkwhale_version }}/download?job=build_front
     dest: "{{ funkwhale_install_path }}"
diff --git a/tasks/main.yml b/tasks/main.yml
index 6bafe0b..867ccc6 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,4 +1,9 @@
 ---
+- name: "Set frontend path"
+  when: funkwhale_frontend_managed
+  set_fact:
+    funkwhale_frontend_path: "{{ funkwhale_install_path }}/front/dist"
+
 - include: packages.yml
   tags: [packages]
 - include: db.yml
diff --git a/templates/env.j2 b/templates/env.j2
index 587e63b..b3654f9 100644
--- a/templates/env.j2
+++ b/templates/env.j2
@@ -24,8 +24,8 @@ MEDIA_ROOT={{ funkwhale_media_path }}
 STATIC_ROOT={{ funkwhale_static_path }}
 MUSIC_DIRECTORY_PATH={{ funkwhale_music_path }}
 MUSIC_DIRECTORY_SERVE_PATH={{ funkwhale_music_path }}
-FUNKWHALE_FRONTEND_PATH={{ funkwhale_install_path }}/front/dist
-FUNKWHALE_SPA_HTML_ROOT={{ funkwhale_install_path }}/front/dist/index.html
+FUNKWHALE_FRONTEND_PATH={{ funkwhale_frontend_path }}
+FUNKWHALE_SPA_HTML_ROOT={{ funkwhale_frontend_path }}/index.html
 {% if funkwhale_nginx_managed %}
 NGINX_MAX_BODY_SIZE={{ funkwhale_nginx_max_body_size }}
 {% endif %}
diff --git a/templates/nginx.conf.j2 b/templates/nginx.conf.j2
index d917820..f1a4cda 100644
--- a/templates/nginx.conf.j2
+++ b/templates/nginx.conf.j2
@@ -38,7 +38,8 @@ server {
     add_header Strict-Transport-Security "max-age=63072000; preload";
     {% endif -%}
 
-    root {{ funkwhale_install_path }}/front/dist;
+
+    root {{ funkwhale_frontend_path }};
 
     # compression settings
     gzip on;
@@ -75,7 +76,7 @@ server {
     }
 
     location /front/ {
-        alias {{ funkwhale_install_path }}/front/dist/;
+        alias {{ funkwhale_frontend_path }}/;
         expires 30d;
         add_header Pragma public;
         add_header Cache-Control "public, must-revalidate, proxy-revalidate";
-- 
GitLab