funkwhale/docs/installation/index.rst

61 lines
1.8 KiB
ReStructuredText

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``.