diff --git a/roles/music/tasks/import_music.yml b/roles/music/tasks/import_music.yml index 4b20946..4723dcf 100644 --- a/roles/music/tasks/import_music.yml +++ b/roles/music/tasks/import_music.yml @@ -25,11 +25,25 @@ - name: Import music into Funkwhale shell: - # funkwhale_import_music_directory is the mounted version of tagged - # files at previous step + cmd: "docker-compose run --rm api python manage.py import_files {{ funkwhale_import_library_id }} {{ funkwhale_import_music_directory }} --recursive --noinput --prune" chdir: "{{ funkwhale_folder_name }}" +- name: Run funkwhale import container + community.docker.docker_compose: + project_src: "{{ funkwhale_folder_name }}" + files: ["import.yml"] + remove_orphans: yes + pull: yes + recreate: smart + state: present + +- name: Remove funkwhale import container + community.docker.docker_compose: + project_src: "{{ funkwhale_folder_name }}" + files: ["import.yml"] + state: absent + - name: Delete files once imported shell: cmd: "rm -rf {{ funkwhale_import_music_directory_host }}/*" diff --git a/roles/music/tasks/main.yml b/roles/music/tasks/main.yml index 3d38385..18779af 100644 --- a/roles/music/tasks/main.yml +++ b/roles/music/tasks/main.yml @@ -41,6 +41,7 @@ mode: 0644 loop: - docker-compose.yml.j2 + - import.yml.j2 - conf.env.j2 - nginx.conf.j2 diff --git a/roles/music/templates/import.yml.j2 b/roles/music/templates/import.yml.j2 new file mode 100644 index 0000000..034b2a8 --- /dev/null +++ b/roles/music/templates/import.yml.j2 @@ -0,0 +1,16 @@ +version: "{{ compose_version }}" + +services: + api: + image: "funkwhale/funkwhale:{{ funkwhale_version }}" + container_name: funkwhale_import + env_file: + - ./conf.env + volumes: + - "{{ funkwhale_import_music_directory_host }}:{{ funkwhale_import_music_directory }}:ro" + - "static:{{ funkwhale_static_root }}" + - "frontend:{{ funkwhale_frontend }}" + - /etc/timezone:/etc/timezone:ro + - /etc/localtime:/etc/localtime:ro + command: ["python", "manage.py", "import_files", "{{ funkwhale_import_library_id }}", "{{ funkwhale_import_music_directory }}", "--recursive", "--noinput", "--prune"] + restart: no