Sample updates, changelog and documentation for channels and activity
This commit is contained in:
parent
26b2d3b0b2
commit
120dda2c75
|
@ -24,3 +24,4 @@ RUN pip install --upgrade youtube-dl
|
||||||
WORKDIR /app
|
WORKDIR /app
|
||||||
|
|
||||||
ENTRYPOINT ["./compose/django/entrypoint.sh"]
|
ENTRYPOINT ["./compose/django/entrypoint.sh"]
|
||||||
|
CMD ["./compose/django/daphne.sh"]
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
Basic activity stream for listening and favorites (#23)
|
||||||
|
|
||||||
|
A new "Activity" page is now available from the sidebar, where you can
|
||||||
|
browse your instance activity. At the moment, this includes other users
|
||||||
|
favorites and listening, but more activity types will be implemented in the
|
||||||
|
future.
|
||||||
|
|
||||||
|
Internally, we implemented those events by following the Activity Stream
|
||||||
|
specification, which will help us to be compatible with other networks
|
||||||
|
in the long-term.
|
||||||
|
|
||||||
|
A new settings page has been added to control the visibility of your activity.
|
||||||
|
By default, your activity will be browsable by anyone on your instance,
|
||||||
|
but you can switch to a full private mode where nothing is shared.
|
||||||
|
|
||||||
|
The setting form is available in your profile.
|
|
@ -0,0 +1,59 @@
|
||||||
|
Switched to django-channels and daphne for serving HTTP and websocket (#34)
|
||||||
|
|
||||||
|
Upgrade notes
|
||||||
|
^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
This release include an important change in the way we serve the HTTP API.
|
||||||
|
To prepare for new realtime features and enable websocket support in Funkwhale,
|
||||||
|
we are now using django-channels and daphne to serve HTTP and websocket traffic.
|
||||||
|
|
||||||
|
This replaces gunicorn and the switch should be easy assuming you
|
||||||
|
follow the upgrade process described bellow.
|
||||||
|
|
||||||
|
If you are using docker, please remove the command instruction inside the
|
||||||
|
api service, as the up-to-date command is now included directly in the image
|
||||||
|
as the default entry point:
|
||||||
|
|
||||||
|
.. code-block:: yaml
|
||||||
|
|
||||||
|
api:
|
||||||
|
restart: unless-stopped
|
||||||
|
image: funkwhale/funkwhale:${FUNKWHALE_VERSION:-latest}
|
||||||
|
command: ./compose/django/gunicorn.sh # You can remove this line
|
||||||
|
|
||||||
|
On non docker setups, you'll have to update the [Service] block of your
|
||||||
|
funkwhale-server systemd unit file to launch the application server using daphne instead of gunicorn.
|
||||||
|
|
||||||
|
The new configuration should be similar to this:
|
||||||
|
|
||||||
|
.. code-block:: ini
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
User=funkwhale
|
||||||
|
# adapt this depending on the path of your funkwhale installation
|
||||||
|
WorkingDirectory=/srv/funkwhale/api
|
||||||
|
EnvironmentFile=/srv/funkwhale/config/.env
|
||||||
|
ExecStart=/usr/local/bin/daphne -b ${FUNKWHALE_API_IP} -p ${FUNKWHALE_API_PORT} config.asgi:application
|
||||||
|
|
||||||
|
Ensure you update funkwhale's dependencies as usual to install the required
|
||||||
|
packages.
|
||||||
|
|
||||||
|
On both docker and non-docker setup, you'll also have to update your nginx
|
||||||
|
configuration for websocket support. Ensure you have the following blocks
|
||||||
|
included in your virtualhost file:
|
||||||
|
|
||||||
|
.. code-block:: txt
|
||||||
|
|
||||||
|
map $http_upgrade $connection_upgrade {
|
||||||
|
default upgrade;
|
||||||
|
'' close;
|
||||||
|
}
|
||||||
|
|
||||||
|
server {
|
||||||
|
...
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection $connection_upgrade;
|
||||||
|
}
|
||||||
|
|
||||||
|
Remember to reload your nginx server after the edit.
|
|
@ -43,7 +43,6 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: funkwhale/funkwhale:${FUNKWHALE_VERSION:-latest}
|
image: funkwhale/funkwhale:${FUNKWHALE_VERSION:-latest}
|
||||||
env_file: .env
|
env_file: .env
|
||||||
command: ./compose/django/gunicorn.sh
|
|
||||||
volumes:
|
volumes:
|
||||||
- ./data/music:/music:ro
|
- ./data/music:/music:ro
|
||||||
- ./data/media:/app/funkwhale_api/media
|
- ./data/media:/app/funkwhale_api/media
|
||||||
|
|
|
@ -8,7 +8,7 @@ User=funkwhale
|
||||||
# adapt this depending on the path of your funkwhale installation
|
# adapt this depending on the path of your funkwhale installation
|
||||||
WorkingDirectory=/srv/funkwhale/api
|
WorkingDirectory=/srv/funkwhale/api
|
||||||
EnvironmentFile=/srv/funkwhale/config/.env
|
EnvironmentFile=/srv/funkwhale/config/.env
|
||||||
ExecStart=/srv/funkwhale/virtualenv/bin/gunicorn config.wsgi:application -b ${FUNKWHALE_API_IP}:${FUNKWHALE_API_PORT}
|
ExecStart=/usr/local/bin/daphne -b ${FUNKWHALE_API_IP} -p ${FUNKWHALE_API_PORT} config.asgi:application
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
WantedBy=multi-user.target
|
WantedBy=multi-user.target
|
||||||
|
|
|
@ -19,6 +19,12 @@ server {
|
||||||
location / { return 301 https://$host$request_uri; }
|
location / { return 301 https://$host$request_uri; }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
# required for websocket support
|
||||||
|
map $http_upgrade $connection_upgrade {
|
||||||
|
default upgrade;
|
||||||
|
'' close;
|
||||||
|
}
|
||||||
|
|
||||||
server {
|
server {
|
||||||
listen 443 ssl http2;
|
listen 443 ssl http2;
|
||||||
listen [::]:443 ssl http2;
|
listen [::]:443 ssl http2;
|
||||||
|
@ -51,6 +57,11 @@ server {
|
||||||
proxy_set_header X-Forwarded-Port $server_port;
|
proxy_set_header X-Forwarded-Port $server_port;
|
||||||
proxy_redirect off;
|
proxy_redirect off;
|
||||||
|
|
||||||
|
# websocket support
|
||||||
|
proxy_http_version 1.1;
|
||||||
|
proxy_set_header Upgrade $http_upgrade;
|
||||||
|
proxy_set_header Connection $connection_upgrade;
|
||||||
|
|
||||||
location / {
|
location / {
|
||||||
try_files $uri $uri/ @rewrites;
|
try_files $uri $uri/ @rewrites;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue