Wykres commitów

1763 Commity (d51daea2077ade8f29f481ad222b0549c5a199aa)

Autor SHA1 Wiadomość Data
akhardya 6e41009be6 fix some links and typo 2018-10-12 15:50:16 +02:00
Eliot Berriot 787cad6a0a Merge branch 'patch-2' into 'develop'
Fix some typos and improve language in the federation documentation

See merge request funkwhale/funkwhale!445
2018-10-11 19:12:12 +00:00
Eliot Berriot 5c056cbe50 Merge branch 'patch-1' into 'develop'
Revise discussion of import methods and improve wording

See merge request funkwhale/funkwhale!444
2018-10-11 19:11:26 +00:00
interfect 6812038847 Fix some typos and improve language in the federation documentation 2018-10-11 04:05:43 +00:00
interfect 47114f4032 Revise discussion of import methods and improve wording
youtube-dl has been removed, and in-place import and federation probably deserve mention.
2018-10-11 03:54:46 +00:00
Eliot Berriot f202336529 Merge branch 'patch-3' into 'develop'
Typos

See merge request funkwhale/funkwhale!443
2018-10-09 18:23:45 +00:00
Eliot Berriot bb73022b97 Merge branch 'patch-1' into 'develop'
Fix repo downloading commands spacing and automatic repo selection

See merge request funkwhale/funkwhale!441
2018-10-09 18:23:06 +00:00
Eliot Berriot b681505d46 Merge branch 'patch-2' into 'develop'
Fix duplicate word typo

See merge request funkwhale/funkwhale!442
2018-10-09 18:22:37 +00:00
Andrew Morgan b4a409f80e Typos 2018-10-09 12:39:00 +00:00
Andrew Morgan 0dd64ba813 Fix duplicate word typo 2018-10-09 12:07:13 +00:00
Andrew Morgan 9969f6a055 Fix repo downloading commands spacing and automatic repo selection 2018-10-08 18:00:10 +00:00
Eliot Berriot 510844f31c
Merge tag '0.17' into develop
0.17 (2018-10-07)
-----------------

Per user libraries
^^^^^^^^^^^^^^^^^^

This release contains a big change in music management. This has a lot of impact
on how Funkwhale behaves, and you should have a look at
https://docs.funkwhale.audio/upgrading/0.17.html for information
about what changed and how to migrate.

Features:

- Per user libraries (#463, also fixes #160 and #147)
- Authentication using a LDAP directory (#194)

Enhancements:

- Add configuration option to set Musicbrainz hostname
- Add sign up link in the sidebar (#408)
- Added a library widget to display libraries associated with a track, album
  and artist (#551)
- Ensure from_activity field is not required in django's admin (#546)
- Move setting link from profile page to the sidebar (#406)
- Simplified and less error-prone nginx setup (#358)

Bugfixes:

- Do not restart current song when rordering queue, deleting tracks from queue
  or adding tracks to queue (#464)
- Fix broken icons in playlist editor (#515)
- Fixed a few untranslated strings (#559)
- Fixed splitted album when importing from federation (#346)
- Fixed toggle mute in volume bar does not restore previous volume level (#514)
- Fixed wrong env file URL and display bugs in deployment documentation (#520)
- Fixed wrong title in PlayButton (#435)
- Remove transparency on artist page button (#517)
- Set sane width default for ui cards and center play button (#530)
- Updated wrong icon and copy in play button dropdown (#436)

Documentation:

- Fixed wrong URLs for docker / nginx files in documentation (#537)

Other:

- Added a merge request template and more documentation about the changelog

Using a LDAP directory to authenticate to your Funkwhale instance
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Funkwhale now support LDAP as an authentication source: you can configure
your instance to delegate login to a LDAP directory, which is especially
useful when you have an existing directory and don't want to manage users
manually.

You can use this authentication backend side by side with the classic one.

Have a look at https://docs.funkwhale.audio/installation/ldap.html
for detailed instructions on how to set this up.

Simplified nginx setup [Docker: Manual action required]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

We've received a lot of user feedback regarding our installation process,
and it seems the proxy part is the one which is the most confusing and difficult.
Unfortunately, this is also the one where errors and mistakes can completely break
the application.

To make things easier for everyone, we now offer a simplified deployment
process for the reverse proxy part. This will make upgrade of the proxy configuration
significantly easier on docker deployments.

On non-docker instances, you have nothing to do.

If you have a dockerized instance, here is the upgrade path.

First, tweak your .env file::

    # remove the FUNKWHALE_URL variable
    # and add the next variables
    FUNKWHALE_HOSTNAME=yourdomain.funkwhale
    FUNKWHALE_PROTOCOL=https

    # add the following variable, matching the path your app is deployed
    # leaving the default should work fine if you deployed using the same
    # paths as the documentation
    FUNKWHALE_FRONTEND_PATH=/srv/funkwhale/front/dist

Then, add the following block at the end of your docker-compose.yml file::

    # existing services
    api:
        ...
    celeryworker:
        ...

    # new service
    nginx:
      image: nginx
      env_file:
        - .env
      environment:
        # Override those variables in your .env file if needed
        - "NGINX_MAX_BODY_SIZE=${NGINX_MAX_BODY_SIZE-30M}"
      volumes:
        - "./nginx/funkwhale.template:/etc/nginx/conf.d/funkwhale.template:ro"
        - "./nginx/funkwhale_proxy.conf:/etc/nginx/funkwhale_proxy.conf:ro"
        - "${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:${MUSIC_DIRECTORY_SERVE_PATH-/srv/funkwhale/data/music}:ro"
        - "${MEDIA_ROOT}:${MEDIA_ROOT}:ro"
        - "${STATIC_ROOT}:${STATIC_ROOT}:ro"
        - "${FUNKWHALE_FRONTEND_PATH}:/frontend:ro"
      ports:
        # override those variables in your .env file if needed
        - "${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}:80"
      command: >
          sh -c "envsubst \"`env | awk -F = '{printf \" $$%s\", $$1}'`\"
          < /etc/nginx/conf.d/funkwhale.template
          > /etc/nginx/conf.d/default.conf
          && cat /etc/nginx/conf.d/default.conf
          && nginx -g 'daemon off;'"
      links:
        - api

By doing that, you'll enable a dockerized nginx that will automatically be
configured to serve your Funkwhale instance.

Download the required configuration files for the nginx container:

.. parsed-literal::

    cd /srv/funkwhale
    mkdir nginx
    curl -L -o nginx/funkwhale.template "https://code.eliotberriot.com/funkwhale/funkwhale/raw/|version|/deploy/docker.nginx.template"
    curl -L -o nginx/funkwhale_proxy.conf "https://code.eliotberriot.com/funkwhale/funkwhale/raw/|version|/deploy/funkwhale_proxy.conf"

Update the funkwhale.conf configuration of your server's reverse-proxy::

    # the file should match something like that, upgrade all variables
    # between ${} to match the ones in your .env file,
    # and your SSL configuration if you're not using let's encrypt
    # The important thing is that you only have a single location block
    # that proxies everything to your dockerized nginx.

    sudo nano /etc/nginx/sites-enabled/funkwhale.conf
    upstream fw {
        # depending on your setup, you may want to update this
        server ${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT};
    }
    map $http_upgrade $connection_upgrade {
        default upgrade;
        ''      close;
    }

    server {
        listen 80;
        listen [::]:80;
        server_name ${FUNKWHALE_HOSTNAME};
        location / { return 301 https://$host$request_uri; }
    }
    server {
        listen      443 ssl;
        listen [::]:443 ssl;
        server_name ${FUNKWHALE_HOSTNAME};

        # TLS
        ssl_protocols TLSv1.2;
        ssl_ciphers HIGH:!MEDIUM:!LOW:!aNULL:!NULL:!SHA;
        ssl_prefer_server_ciphers on;
        ssl_session_cache shared:SSL:10m;
        ssl_certificate     /etc/letsencrypt/live/${FUNKWHALE_HOSTNAME}/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/${FUNKWHALE_HOSTNAME}/privkey.pem;

        # HSTS
        add_header Strict-Transport-Security "max-age=31536000";

        location / {
            include /etc/nginx/funkwhale_proxy.conf;
            proxy_pass   http://fw/;
        }
    }

Check that your configuration is valid then reload:

    sudo nginx -t
    sudo systemctl reload nginx
2018-10-07 11:53:52 +02:00
Eliot Berriot 007d1f7f47
Merge branch 'release/0.17' 2018-10-07 11:53:31 +02:00
Eliot Berriot dc1e4fb0c7
Version bump and release for 0.17 2018-10-07 11:53:09 +02:00
Eliot Berriot 1bc9cdd5cf Merge branch 'translations-integration' into 'develop'
Translations integration

See merge request funkwhale/funkwhale!440
2018-10-07 09:20:10 +00:00
Eliot Berriot beed045e59 Translations integration 2018-10-07 09:20:10 +00:00
Eliot Berriot 1029c7ba50 Merge branch '549-music-federation-documentation' into 'develop'
Fix #549: Technical documentation of music federation

Closes #549

See merge request funkwhale/funkwhale!435
2018-10-07 09:06:21 +00:00
Eliot Berriot 92b5586042
Fix #549: Technical documentation of music federation 2018-10-07 11:00:11 +02:00
Eliot Berriot 2d631e871e Update index.rst 2018-10-06 19:25:59 +00:00
Eliot Berriot 4edd594840 Merge branch 'translations-integration' into 'develop'
Translations integration

See merge request funkwhale/funkwhale!439
2018-10-05 18:17:45 +00:00
Eliot Berriot 58e972899f Translations integration 2018-10-05 18:17:44 +00:00
Eliot Berriot b7b3c41cd0 Merge branch '559-i18n' into 'develop'
Resolve "[i18n]Missing localisation"

Closes #559

See merge request funkwhale/funkwhale!438
2018-10-05 18:09:10 +00:00
Eliot Berriot 3a30965fb4
See #559: changelog 2018-10-05 19:56:41 +02:00
Eliot Berriot 32ccea92d2
See #559: Fixed untranslated privacy settings 2018-10-05 19:56:38 +02:00
Eliot Berriot 2845bdd932
See #559: Use translations mixins in filters 2018-10-05 19:56:34 +02:00
Eliot Berriot 14a17de239
See #559: Fixed broken musicbrainz translation 2018-10-05 19:56:30 +02:00
Eliot Berriot 0a22504fb0
See #559: added a mixin to store common translations 2018-10-05 19:56:07 +02:00
Eliot Berriot c4318b4ddd
Added missing icon in sidebar 2018-10-05 19:30:21 +02:00
Eliot Berriot 8ff047365c
Removed unused component 2018-10-05 19:30:11 +02:00
Eliot Berriot 94bd55b747 Merge branch '380-clock-documentation' into 'develop'
Fix #380: Document that server clock needs to be synced via NTP to avoid federation issues

Closes #380

See merge request funkwhale/funkwhale!437
2018-10-05 16:38:52 +00:00
Eliot Berriot 11e5ab4d79
Fix #380: Document that server clock needs to be synced via NTP to avoid federation issues 2018-10-05 18:33:05 +02:00
Eliot Berriot 8ca06668b7 Merge branch 'translations-integration' into 'develop'
Translations integration

See merge request funkwhale/funkwhale!436
2018-10-03 16:14:57 +00:00
Eliot Berriot b7bf2e6d84 Translations integration 2018-10-03 16:14:57 +00:00
Eliot Berriot 667109cde5 Merge branch 'translations-integration' into 'develop'
Translations integration

See merge request funkwhale/funkwhale!434
2018-10-02 18:02:12 +00:00
Eliot Berriot afa37f9fa9 Translations integration 2018-10-02 18:02:12 +00:00
Eliot Berriot 7876e77aab Merge branch '551-display-libraries' into 'develop'
Resolve "Display available libraries containing a track / album / artist"

Closes #551

See merge request funkwhale/funkwhale!433
2018-10-02 17:46:33 +00:00
Eliot Berriot c2a2321be2
Removed dead library federation code 2018-10-02 19:36:15 +02:00
Eliot Berriot a865fcdcf1
Fix #551: Added a library widget to display libraries associated with a track, album and artist 2018-10-02 19:30:13 +02:00
Eliot Berriot f2812c67ce
Fixed a small pluralization issue (#542) 2018-10-02 19:23:10 +02:00
Eliot Berriot d7b6e54621 Merge branch 'admin-raw-id-fields' into 'develop'
Ensure we always use raw_ids for related fields in django's admin

See merge request funkwhale/funkwhale!431
2018-10-01 20:03:08 +00:00
Eliot Berriot 3895034089
Ensure we always use raw_ids for related fields in django's admin 2018-10-01 21:56:52 +02:00
Eliot Berriot 4e43cb17a2 Merge branch '546-blank-from-activity-field' into 'develop'
Resolve "music_album doesn't always need a from_activity_id"

Closes #546

See merge request funkwhale/funkwhale!430
2018-10-01 19:51:36 +00:00
Eliot Berriot 314765de7c
Fix #546: Ensure from_activity field is not required in django's admin 2018-10-01 21:43:33 +02:00
Eliot Berriot 8d75d58e82 Merge branch 'changelogs' into 'develop'
Added changelog for #463, #160, #147, #346

Closes #463, #160, #147, and #346

See merge request funkwhale/funkwhale!429
2018-10-01 19:43:03 +00:00
Eliot Berriot fbfef20a6b
Added changelog for #463, #160, #147, #346 2018-10-01 21:37:40 +02:00
Eliot Berriot 1aa9b557d1 Merge branch 'subsonic-user-libraries' into 'develop'
Subsonic user libraries

See merge request funkwhale/funkwhale!428
2018-10-01 19:22:14 +00:00
Eliot Berriot 47aa209df2
See !368: ensure we filter playable entities in subsonic API 2018-10-01 21:16:11 +02:00
Eliot Berriot 224fa4bfbf
use proper pymemoize release instead of our fork 2018-10-01 19:37:58 +02:00
Eliot Berriot 96360a39ea Merge branch 'qa-017-round3' into 'develop'
Qa 017 round3

See merge request funkwhale/funkwhale!427
2018-10-01 17:27:03 +00:00
Eliot Berriot 02006270cd
See #542: fixed issue with empty actor during upgrade script 2018-10-01 19:16:48 +02:00