From 34ec7b542f67d9fca18b2a045fa29adefd12d670 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Sun, 25 Jun 2017 23:33:19 +0200 Subject: [PATCH] Added documentation about music acquisition --- .gitignore | 1 + deploy/docker-compose.yml | 4 +++- docs/importing-music.rst | 40 ++++++++++++++++++++++++++++++++++++ docs/index.rst | 2 +- docs/installation/docker.rst | 5 +++++ 5 files changed, 50 insertions(+), 2 deletions(-) create mode 100644 docs/importing-music.rst diff --git a/.gitignore b/.gitignore index 130ed29ad..c1b8300f2 100644 --- a/.gitignore +++ b/.gitignore @@ -67,6 +67,7 @@ mailhog *.sqlite3 # Api +demo/music api/music api/media api/staticfiles diff --git a/deploy/docker-compose.yml b/deploy/docker-compose.yml index 9ce6ecd74..1a1b81b39 100644 --- a/deploy/docker-compose.yml +++ b/deploy/docker-compose.yml @@ -25,7 +25,8 @@ services: environment: - C_FORCE_ROOT=true volumes: - - ./api/media:/app/funkwhale_api/media + - ./data/music:/music:ro + - ./api/media:/app/funkwhale_api/media celerybeat: restart: unless-stopped @@ -42,6 +43,7 @@ services: env_file: .env command: ./compose/django/gunicorn.sh volumes: + - ./data/music:/music:ro - ./data/media:/app/funkwhale_api/media - ./data/static:/app/staticfiles ports: diff --git a/docs/importing-music.rst b/docs/importing-music.rst new file mode 100644 index 000000000..15db0756b --- /dev/null +++ b/docs/importing-music.rst @@ -0,0 +1,40 @@ +Importing music +================ + +From music directory on the server +---------------------------------- + +You can import music files in funkwhale assuming they are located on the server +and readable by the funkwhale application. + +Assuming your music is located at ``/music`` and your music files contains at +least an ``artist``, ``album`` and ``title`` tag, you can import those tracks as follows: + +.. code-block:: bash + + docker-compose --rm run api python manage.py import_files "/music/**/*.ogg" --recursive --noinput + +.. note:: + + This command is idempotent, meaning you can run it multiple times on the same + files and already imported files will simply be skipped. + +.. warning:: + + At the moment, only ogg files are supported. MP3 support will be implemented soon. + +Getting demo tracks +^^^^^^^^^^^^^^^^^^^ + +If you do not have any music on your server but still want to test the import +process, you can call the following methods do download a few albums licenced +under creative commons (courtesy of Jamendo): + +.. code-block:: bash + + curl -L -o download-tracks.sh "https://code.eliotberriot.com/funkwhale/funkwhale/raw/master/demo/download-tracks.sh" + curl -L -o music.txt "https://code.eliotberriot.com/funkwhale/funkwhale/raw/master/demo/music.txt" + chmod +x download-tracks.sh + ./download-tracks.sh music.txt + +This will download a bunch of zip archives (one per album) under the ``data/music`` directory and unzip their content. diff --git a/docs/index.rst b/docs/index.rst index 22438f209..b4c4119bf 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -13,7 +13,7 @@ Funkwhale is a self-hosted, modern free and open-source music server, heavily in features installation/index - + importing-music Indices and tables diff --git a/docs/installation/docker.rst b/docs/installation/docker.rst index a0b397d6d..9f7a288f3 100644 --- a/docs/installation/docker.rst +++ b/docs/installation/docker.rst @@ -47,3 +47,8 @@ Then launch the whole thing: docker-compose up -d Now, you just need to setup the :ref:`frontend files `, and configure your :ref:`reverse-proxy `. Don't worry, it's quite easy. + +About music acquisition +----------------------- + +If you want to :doc:`import music located on the server `, you can put it in the ``data/music`` directory and it will become readable by the importer.