diff --git a/defaults/main.yml b/defaults/main.yml index 26d690939613ebc078b868996bdda715990bb4ee..7748243cc79286ef832ba63c4a3d8d736ecdf646 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -5,7 +5,6 @@ funkwhale_media_path: /srv/funkwhale/data/media funkwhale_static_path: /srv/funkwhale/data/static funkwhale_music_path: /srv/funkwhale/data/music funkwhale_config_path: /srv/funkwhale/config -funkwhale_frontend_path: /srv/funkwhale/frontend/dist funkwhale_username: funkwhale funkwhale_database_managed: true funkwhale_database_name: funkwhale diff --git a/molecule/default/playbook.yml b/molecule/default/playbook.yml index 09a690e664f3e5098f0e054a18738e9214337e83..99584c430249354d312ca78401164ee65bc3e199 100644 --- a/molecule/default/playbook.yml +++ b/molecule/default/playbook.yml @@ -8,6 +8,7 @@ vars: funkwhale_hostname: yourdomain.funkwhale funkwhale_protocol: https + funkwhale_version: 0.19.0-rc2 funkwhale_env_vars: - EMAIL_CONFIG=smtp+tls://user@:password@youremail.host:587 - DEFAULT_FROM_EMAIL=noreply@yourdomain diff --git a/molecule/default/tests/test_default.py b/molecule/default/tests/test_default.py index f918a94318da0a5022ef44fbb014cb1951646407..0f4439cd344264f1e71f13d81ec3c186056f0167 100644 --- a/molecule/default/tests/test_default.py +++ b/molecule/default/tests/test_default.py @@ -73,9 +73,9 @@ def test_funkwhale_env_file(host): f.contains("EMAIL_CONFIG=smtp+tls://user@:password@youremail.host:587") is True ) assert f.contains("DEFAULT_FROM_EMAIL=noreply@yourdomain") is True - assert f.contains("FUNKWHALE_FRONTEND_PATH=/srv/funkwhale/frontend/dist") is True + assert f.contains("FUNKWHALE_FRONTEND_PATH=/srv/funkwhale/front/dist") is True assert ( - f.contains("FUNKWHALE_SPA_HTML_ROOT=/srv/funkwhale/frontend/dist/index.html") + f.contains("FUNKWHALE_SPA_HTML_ROOT=/srv/funkwhale/front/dist/index.html") is True ) assert f.contains("NGINX_MAX_BODY_SIZE=100M") is True @@ -84,3 +84,16 @@ def test_funkwhale_env_file(host): # additional vars assert f.contains("ADDITIONAL_VAR=1") is True assert f.contains("ADDITIONAL_VAR=2") is True + + +def test_frontend_download(host): + f = host.file("/srv/funkwhale/front/dist/index.html") + + assert f.exists is True + + +def test_api_download(host): + f = host.file("/srv/funkwhale/api/funkwhale_api/__init__.py") + + assert f.exists is True + assert f.contains('__version__ = "0.19.0-rc2"') is True diff --git a/tasks/funkwhale.yml b/tasks/funkwhale.yml index 8cd5dc19f88df317095f186596f963b965594ae3..43276152afd83f9070e11262b7c93fe5c412489d 100644 --- a/tasks/funkwhale.yml +++ b/tasks/funkwhale.yml @@ -24,9 +24,27 @@ - name: "Create funkwhale configuration file" become: true + become_user: "{{ funkwhale_username }}" template: src: env.j2 dest: "{{ funkwhale_config_path }}/.env" owner: "{{ funkwhale_username }}" vars: secret_key: secret_key + +- name: Download front-end files + become: true + become_user: "{{ funkwhale_username }}" + unarchive: + src: https://dev.funkwhale.audio/funkwhale/funkwhale/-/jobs/artifacts/{{ funkwhale_version }}/download?job=build_front + dest: "{{ funkwhale_install_path }}" + remote_src: true + + +- name: Download api files + become: true + become_user: "{{ funkwhale_username }}" + unarchive: + src: https://dev.funkwhale.audio/funkwhale/funkwhale/-/jobs/artifacts/{{ funkwhale_version }}/download?job=build_api + dest: "{{ funkwhale_install_path }}" + remote_src: true diff --git a/templates/env.j2 b/templates/env.j2 index 848ccfbc470eb9267c22ed0cc5fa4ac13f5000ef..3e2e587fed4a78076b9aa0178fdd0dee0cc2e6ff 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_frontend_path }} -FUNKWHALE_SPA_HTML_ROOT={{ funkwhale_frontend_path }}/index.html +FUNKWHALE_FRONTEND_PATH={{ funkwhale_install_path }}/front/dist +FUNKWHALE_SPA_HTML_ROOT={{ funkwhale_install_path }}/front/dist/index.html {% if funkwhale_nginx_managed %} NGINX_MAX_BODY_SIZE={{ funkwhale_nginx_max_body_size }} {% endif %}