From 3af3327311af2d9bf5cc9756fc63d4b9b01df49e Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Thu, 22 Mar 2018 14:18:55 +0100 Subject: [PATCH 01/83] Added missing choice of version in the docker deployment guide --- docs/installation/docker.rst | 2 ++ 1 file changed, 2 insertions(+) diff --git a/docs/installation/docker.rst b/docs/installation/docker.rst index 34e8187c5..dc031caed 100644 --- a/docs/installation/docker.rst +++ b/docs/installation/docker.rst @@ -17,7 +17,9 @@ Create your env file: .. parsed-literal:: + export FUNKWHALE_VERSION="|version|" curl -L -o .env "https://code.eliotberriot.com/funkwhale/funkwhale/raw/|version|/deploy/env.prod.sample" + sed -i "s/FUNKWHALE_VERSION=latest/FUNKWHALE_VERSION=$FUNKWHALE_VERSION/" .env Ensure to edit it to match your needs (this file is heavily commented) From 2cfe4fa3a12d12c1b285e80856350d92eb82a4fb Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Thu, 22 Mar 2018 14:19:26 +0100 Subject: [PATCH 02/83] Fixed wrong mv command in debian guide --- docs/installation/debian.rst | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/installation/debian.rst b/docs/installation/debian.rst index 86ccb4dd3..c4e54218d 100644 --- a/docs/installation/debian.rst +++ b/docs/installation/debian.rst @@ -89,7 +89,7 @@ First, we'll download the latest api release. curl -L -o "api-|version|.zip" "https://code.eliotberriot.com/funkwhale/funkwhale/-/jobs/artifacts/|version|/download?job=build_api" unzip "api-|version|.zip" -d extracted - mv extracted/api api + mv extracted/api/* api/ rmdir extracted @@ -100,7 +100,7 @@ Then we'll download the frontend files: curl -L -o "front-|version|.zip" "https://code.eliotberriot.com/funkwhale/funkwhale/-/jobs/artifacts/|version|/download?job=build_front" unzip "front-|version|.zip" -d extracted mv extracted/front . - rmdir extracted + rm -rf extracted You can leave the ZIP archives in the directory, this will help you know which version you've installed next time you want to upgrade your installation. From 1c251ac7c7ffbbef4b202c6903a8875bd8ff91ad Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Thu, 22 Mar 2018 14:22:39 +0100 Subject: [PATCH 03/83] Fix #127: Added upgrade documentation --- changes/changelog.d/127.doc | 0 docs/index.rst | 1 + docs/upgrading.rst | 88 +++++++++++++++++++++++++++++++++++++ 3 files changed, 89 insertions(+) create mode 100644 changes/changelog.d/127.doc create mode 100644 docs/upgrading.rst diff --git a/changes/changelog.d/127.doc b/changes/changelog.d/127.doc new file mode 100644 index 000000000..e69de29bb diff --git a/docs/index.rst b/docs/index.rst index 17e9fe7f0..f5acecce5 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -15,6 +15,7 @@ Funkwhale is a self-hosted, modern free and open-source music server, heavily in installation/index configuration importing-music + upgrading changelog Indices and tables diff --git a/docs/upgrading.rst b/docs/upgrading.rst new file mode 100644 index 000000000..24f5502a6 --- /dev/null +++ b/docs/upgrading.rst @@ -0,0 +1,88 @@ +Upgrading your funkwhale instance to a newer version +==================================================== + +.. note:: + + Before upgrading your instance, we strongly advise you to make a database + backup. We're commited to make upgrade as easy and straightforward as possible, + however, funkwhale is still in development and you'll be safer with a backup. + +Reading the release notes +------------------------- + +Please take a few minutes to read the :doc:`changelog`: updates should work +similarly from version to version, but some of them may require additional steps. +Those steps would be described in the version release notes. + +Upgrade the static files +------------------------ + +Regardless of your deployment choice (docker/non-docker) the front-end app +is updated separately from the API. This is as simple as downloading +the zip with the static files and extracting it in the correct place. + +The following example assume your setup match :ref:`frontend-setup`. + +.. parsed-literal:: + + # this assumes you want to upgrade to version "|version|" + export FUNKWHALE_VERSION="|version|" + cd /srv/funkwhale + curl -L -o front.zip "https://code.eliotberriot.com/funkwhale/funkwhale/builds/artifacts/$FUNKWHALE_VERSION/download?job=build_front" + unzip -o front.zip + rm front.zip + +Upgrading the API +----------------- + +Docker setup +^^^^^^^^^^^^ + +If you've followed the setup instructions in :doc:`Docker`, upgrade path is +easy: + +.. parsed-literal:: + + cd /srv/funkwhale + # hardcode the targeted version your env file + # (look for the FUNKWHALE_VERSION variable) + nano .env + # Pull the new version containers + docker-compose pull + # Apply the database migrations + docker-compose run --rm api python manage.py migrate + # Relaunch the containers + docker-compose up -d + +Non-docker setup +^^^^^^^^^^^^^^^^ + +On non docker-setup, upgrade involves a few more commands. We assume your setup +match what is described in :doc:`debian`: + +.. parsed-literal:: + + # this assumes you want to upgrade to version "|version|" + export FUNKWALE_VERSION="|version|" + cd /srv/funkwhale + + # download more recent API files + curl -L -o "api-|version|.zip" "https://code.eliotberriot.com/funkwhale/funkwhale/-/jobs/artifacts/|version|/download?job=build_api" + unzip "api-|version|.zip" -d extracted + mv extracted/api/* api/ + rm -rf extracted + + # update os dependencies + sudo api/install_os_dependencies.sh install + # update python dependencies + source /srv/funkwhale/load_env + source /srv/funkwhale/virtualenv/bin/activate + pip install -r api/requirements.txt + + # apply database migrations + python api/manage.py migrate + # collect static files + python api/manage.py collectstatic --no-input + + # restart the services + sudo systemctl restart funkwhale.target From c89b957f05c42fefc5d14d4a74b6fc4dd30b2c66 Mon Sep 17 00:00:00 2001 From: Maxence Bothorel Date: Thu, 22 Mar 2018 18:06:43 +0100 Subject: [PATCH 04/83] convert favicon from ico to png file --- front/static/favicon.png | Bin 8190 -> 991 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/front/static/favicon.png b/front/static/favicon.png index 089442fab7cb4e68cec9de87d421b64495e3263a..0220a4202cf807816c57b0433bed5bc97fa3f875 100644 GIT binary patch literal 991 zcmeAS@N?(olHy`uVBq!ia0vp^fk5oV!3-q7IC#VWDVB6cUq=Rpjs4tz5?O(Kg=CK) zUj~LMH3o);76yi2K%s^g3=E|P3=FRl7#OT(FffQ0%-I!a1C+1{@Ck7R(zZ@6xrIfo z9bNMlEUc`pOH56hIAyAbuYYJ{bis=AH5)E3IC|f)XaAIaw^J6Lj+k}4WBYZV$%p^{ z|9@3oxB;l2u_VYZn8D%MjWiG^$=lsUm}hs)G$4n)#M9T6{SmX6khPJY?`jza2ByiL zE{-7)hp$e%*>qTe!_{}X$!xd3|NG}=3M(rt$h77!z8_-46n9zb^YK?^vFpBGxV`uO z;;k#(r<-P6vE~TroX)pW{E(YWS@xO0ls*%Wx4z*WBK5k;A&XvG^!B$%?|AB{+9$i- z{pJ&A(fAUjP1C29ESTX@E-bF)VmQ@t#{Me}McS2LOBc*}D!qMDN%m9TT$`_T_dGYu ztn3SKy?6fcmg;Ca!zaq1uY z5#jr@+#aQ$f4^UF{d2vvs;su=l@dKaIj21=*>Gd}wv)9RM4Iic+8iu6{w7r6SPpZ$ zR+M7P@nQj!4;>kz=MN!bO|K)wI?MN*+1j%RWK$r>?4{;enJ3C+tcDY}XuE&fnwAeYPTg0<$URze;bd6EPO{w#F@iMLt7S@r? zaf`JlJo%YenXA0jXC9Z3e$(~EJCuytTczG}d}zD4k#*nw!`YnecS;yqw4ep^j#OZ`^o6W8w<3Np5? zF-`dRN9mVg!I#2aRu^8J=Ra-!vFFpDC&!Dom4rQHS+98h#x;jUp--;<)z8w)KRJKx zwkxllKXzBuX`Q=s^!gX(ttUcnI^LQP3rw-9C9V-ADTyViR>?)FK#IZ0z|cb1z*yJF zD8$gh%D~vl$Uxh`(8|EzY0%nC}Q!>*kQ8buanOa(zLN(k!|NACT1B0ilpUXO@ GgeCw0;Hl#P literal 8190 zcmeI1zi;J45XZ;&lIJA%a!y=O;+8)GWPvCU0--CAKvYOThXhn0L7pj)PKX8(nk&#< zM@dHqmJp(#prD|jz$N7?T|7NAvpch%-Ssb_6d=W?*yG*V&wl5J?I;J3;J^DX0-jIc z?*iZn0C)<2?&Hrj{?Pc?@%(eoz$-7m0B^khD!lXdoAAN=@50q5AHk1bJPSX4^%8vk z;4}E;;cM{q^_TGLe`2GR>`NK8*_4A`K{O$N{25vL(AI?C2 z(+9>nkG#w_o6UN?#`DGHy!$NkUWzdPIL)TH)6Ba*Ox@j^z)mnTg%~i?i!tmdlkzur zjO1X1IipcFO9v}9%#7kwYDAO62Wc8(!2;a ziplBZ9C@PEBPxQud9J*jOBFMiFpF4+gi2!!_3Fa&B8O^Z-GTrNlL5x&6BlhLD$We) zhVq4Pqwn`WL#jg}U4flk};1U_Eijc&`lMCmf`d9Or(cr}mb^pYhy>GjbcC(}Tj zMc+9e9|@c z-66AcM`i3fp#fv>0Sd7j{AP-ct6*z=(8V~B|Bmd`jyGiE0vfNNKsRdx(ra9d;|IvP zu7#3py5K-T_Rh$tGO`=mvujdgr)2C_WY<}T65539s%!zWJsQx#7B^nurGf)`;s2mo z8!vcltFnT9av-~`iwfG+9H@1E!kHI<+d)-uC7+7pX~$LSyKXz?^nB3 zlcF@TQA(Tc*lr4(6T4&^_Gwcd>^KJF?4(WWr=PUrpYF5f!)(+GyOo3^qelq=y-PQ Date: Fri, 23 Mar 2018 12:10:18 +0100 Subject: [PATCH 05/83] Ensure we update all requirements when installing from pip/requirements.txt --- api/requirements.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/api/requirements.txt b/api/requirements.txt index d1197135e..00be27c53 100644 --- a/api/requirements.txt +++ b/api/requirements.txt @@ -1,3 +1,4 @@ # This file is here because many Platforms as a Service look for # requirements.txt in the root directory of a project. +-r requirements/base.txt -r requirements/production.txt From e3fc33a2c425a7862576316bce3afd4802039d96 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Fri, 23 Mar 2018 12:15:21 +0100 Subject: [PATCH 06/83] Minor tweaks to upgrade documentation --- docs/upgrading.rst | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/docs/upgrading.rst b/docs/upgrading.rst index 24f5502a6..674878ba7 100644 --- a/docs/upgrading.rst +++ b/docs/upgrading.rst @@ -3,10 +3,13 @@ Upgrading your funkwhale instance to a newer version .. note:: - Before upgrading your instance, we strongly advise you to make a database - backup. We're commited to make upgrade as easy and straightforward as possible, + Before upgrading your instance, we strongly advise you to make at least a database backup. Ideally, you should make a full backup, including + the database and the media files. + + We're commited to make upgrade as easy and straightforward as possible, however, funkwhale is still in development and you'll be safer with a backup. + Reading the release notes ------------------------- @@ -62,14 +65,17 @@ match what is described in :doc:`debian`: .. parsed-literal:: + # stop the services + sudo systemctl stop funkwhale.target + # this assumes you want to upgrade to version "|version|" export FUNKWALE_VERSION="|version|" cd /srv/funkwhale # download more recent API files - curl -L -o "api-|version|.zip" "https://code.eliotberriot.com/funkwhale/funkwhale/-/jobs/artifacts/|version|/download?job=build_api" - unzip "api-|version|.zip" -d extracted - mv extracted/api/* api/ + curl -L -o "api-|version|.zip" "https://code.eliotberriot.com/funkwhale/funkwhale/-/jobs/artifacts/$FUNKWALE_VERSION/download?job=build_api" + unzip "api-$FUNKWALE_VERSION.zip" -d extracted + rm -rf api/ && mv extracted/api . rm -rf extracted # update os dependencies From 4409a9cac9b6e5ff962480fc7bfab4df207fbbe4 Mon Sep 17 00:00:00 2001 From: Maxence Bothorel Date: Fri, 23 Mar 2018 13:23:23 +0100 Subject: [PATCH 07/83] Add changelog --- changes/changelog.d/130.bugfix | 1 + 1 file changed, 1 insertion(+) create mode 100644 changes/changelog.d/130.bugfix diff --git a/changes/changelog.d/130.bugfix b/changes/changelog.d/130.bugfix new file mode 100644 index 000000000..f8331ad67 --- /dev/null +++ b/changes/changelog.d/130.bugfix @@ -0,0 +1 @@ +Converted favicon from .ico to .png (#130) From cd89785344f14925c8316abfc788afd492a7a3f2 Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Fri, 23 Mar 2018 14:59:12 +0100 Subject: [PATCH 08/83] Fix #101: Added credits to Francis Gading for the logotype --- changes/changelog.d/101.enhancement | 1 + front/src/App.vue | 1 + 2 files changed, 2 insertions(+) create mode 100644 changes/changelog.d/101.enhancement diff --git a/changes/changelog.d/101.enhancement b/changes/changelog.d/101.enhancement new file mode 100644 index 000000000..e6d1fde90 --- /dev/null +++ b/changes/changelog.d/101.enhancement @@ -0,0 +1 @@ +Added credits to Francis Gading for the logotype (#101) diff --git a/front/src/App.vue b/front/src/App.vue index d15eebdba..bff52e97e 100644 --- a/front/src/App.vue +++ b/front/src/App.vue @@ -21,6 +21,7 @@

About funkwhale

Funkwhale is a free and open-source project run by volunteers. You can help us improve the platform by reporting bugs, suggesting features and share the project with your friends!

+

The funkwhale logo was kindly designed and provided by Francis Gading.

From d726a959abcc082f13fc7f1d5e43ffeba1a7062d Mon Sep 17 00:00:00 2001 From: Eliot Berriot Date: Fri, 23 Mar 2018 15:54:04 +0100 Subject: [PATCH 09/83] Fix #131: Removed player from queue tab and consistently show current track in queue --- changes/changelog.d/131.enhancement | 1 + front/src/components/Sidebar.vue | 57 +++++++++++++++++++++++++---- 2 files changed, 51 insertions(+), 7 deletions(-) create mode 100644 changes/changelog.d/131.enhancement diff --git a/changes/changelog.d/131.enhancement b/changes/changelog.d/131.enhancement new file mode 100644 index 000000000..260a8bb6f --- /dev/null +++ b/changes/changelog.d/131.enhancement @@ -0,0 +1 @@ +Removed player from queue tab and consistently show current track in queue (#131) diff --git a/front/src/components/Sidebar.vue b/front/src/components/Sidebar.vue index f225313b6..42a923b6b 100644 --- a/front/src/components/Sidebar.vue +++ b/front/src/components/Sidebar.vue @@ -16,8 +16,8 @@