Skip to content
Snippets Groups Projects
index.rst 1.78 KiB
Newer Older
Installation
=============

Project architecture
--------------------

The project relies on the following components and services to work:

- A web application server (Python/Django/Gunicorn)
- A PostgreSQL database to store application data
- A redis server to store cache and tasks data
- A celery worker to run asynchronouse tasks (such as music import)
- A celery scheduler to run recurrent tasks

Available installation methods
-------------------------------

.. toctree::
   :maxdepth: 1

   docker


.. _frontend-setup:

Frontend setup
---------------

Files for the web frontend are purely static and can simply be downloaded, unzipped and served from any webserver:

.. code-block:: bash

    cd /srv/funkwhale
    curl -L -o front.zip "https://code.eliotberriot.com/funkwhale/funkwhale/builds/artifacts/master/download?job=build_front"
    unzip front.zip

.. _reverse-proxy-setup:

Reverse proxy
--------------

In order to make funkwhale accessible from outside your server and to play nicely with other applications on your machine, you should configure a reverse proxy. At the moment, we only have documentation for nginx, if you know how to implement the same thing for apache, you're welcome.

Nginx
^^^^^

Ensure you have a recent version of nginx on your server. On debian-like system, you would have to run the following:

.. code-block:: bash

    apt-get update
    apt-get install nginx

Then, download our sample virtualhost file:

.. code-block:: bash

    curl -L -o /etc/nginx/sites-enabled/funkwhale.conf "https://code.eliotberriot.com/funkwhale/funkwhale/raw/master/deploy/nginx.conf"

Ensure static assets and proxy pass match your configuration, and check the configuration is valid with ``nginx -t``. If everything is fine, you can restart your nginx server with ``service nginx restart``.