Commit daf8a229 authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Merge branch 'docs_archlinux' into 'develop'

[doc] Installation on Arch Linux

See merge request funkwhale/funkwhale!300
parents 64496946 fa70f525
curl
file
ffmpeg
libjpeg-turbo
libpqxx
python
Arch Linux installation steps
Debian installation
===================
Debian and Arch Linux installation
==================================
.. note::
This guide targets Debian 9 (Stretch), which is the latest Debian.
This guide targets Debian 9 (Stretch), which is the latest Debian, as well as Arch Linux.
External dependencies
---------------------
......@@ -17,13 +17,18 @@ Install utilities
-----------------
You'll need a few utilities during this guide that are not always present by
default on system. You can install them using:
default on system. On Debian-like systems, you can install them using:
.. code-block:: shell
sudo apt-get update
sudo apt-get install curl python3-pip python3-venv git unzip
On Arch Linux and its derivatives:
.. code-block:: shell
sudo pacman -S curl python-pip python-virtualenv git unzip
Layout
-------
......@@ -41,7 +46,7 @@ Create the user and the directory:
.. code-block:: shell
sudo adduser --system --home /srv/funkwhale funkwhale
sudo useradd -r -s /usr/bin/nologin -d /srv/funkwhale -m funkwhale
cd /srv/funkwhale
Log in as the newly created user from now on:
......@@ -113,9 +118,10 @@ First, switch to the api directory:
cd api
A few OS packages are required in order to run Funkwhale. The list is available
in ``api/requirements.apt`` or by running
``./install_os_dependencies.sh list``.
A few OS packages are required in order to run Funkwhale. On Debian-like
systems, the list is available in ``api/requirements.apt`` or by running
``./install_os_dependencies.sh list`` and in ``api/requirements.pac`` on
Arch.
.. note::
......@@ -124,10 +130,18 @@ in ``api/requirements.apt`` or by running
You can install those packages all at once:
On Debian-like systems:
.. code-block:: shell
./install_os_dependencies.sh install
On Arch Linux and its derivatives:
.. code-block:: shell
pacman -S $(cat api/requirements.pac)
From now on you can switch back to the funkwhale user.
Python dependencies
......@@ -143,11 +157,12 @@ To avoid collisions with other software on your system, Python dependencies
will be installed in a dedicated
`virtualenv <https://docs.python.org/3/library/venv.html>`_.
First, create the virtualenv:
First, create the virtualenv and install wheel:
.. code-block:: shell
python3 -m venv /srv/funkwhale/virtualenv
pip install wheel
This will result in a ``virtualenv`` directory being created in
``/srv/funkwhale/virtualenv``.
......@@ -165,12 +180,11 @@ Finally, install the python dependencies:
.. code-block:: shell
pip install wheel
pip install -r api/requirements.txt
.. important::
further commands involving python should always be run after you activated
Further commands involving python should always be run after you activated
the virtualenv, as described earlier, otherwise those commands will raise
errors
......
......@@ -20,6 +20,14 @@ On Debian-like systems, you would install the database server like this:
sudo apt-get install postgresql postgresql-contrib
On Arch Linux and its derivatives:
.. code-block:: shell
sudo pacman -S postgresql
On Arch, you'll also need to initialize the database. See `the Arch Linux wiki <https://wiki.archlinux.org/index.php/Postgresql#Initial_configuration>`_.
The remaining steps are heavily inspired from `this Digital Ocean guide <https://www.digitalocean.com/community/tutorials/how-to-set-up-django-with-postgres-nginx-and-gunicorn-on-ubuntu-16-04>`_.
Open a database shell:
......@@ -75,4 +83,10 @@ install it:
sudo apt-get install redis-server
On Arch Linux and its derivatives:
.. code-block:: shell
sudo pacman -S redis
This should be enough to have your redis server set up.
......@@ -56,7 +56,7 @@ Available installation methods
-------------------------------
Docker is the recommended and easiest way to setup your Funkwhale instance.
We also maintain an installation guide for Debian 9.
We also maintain an installation guide for Debian 9 and Arch Linux.
.. toctree::
:maxdepth: 1
......@@ -108,6 +108,12 @@ Ensure you have a recent version of nginx on your server. On Debian-like system,
sudo apt-get update
sudo apt-get install nginx
On Arch Linux and its derivatives:
.. code-block:: bash
sudo pacman -S nginx
Then, download our sample virtualhost file and proxy conf:
.. parsed-literal::
......@@ -129,7 +135,12 @@ If everything is fine, you can restart your nginx server with ``service nginx re
Apache2
^^^^^^^
Ensure you have a recent version of apache2 installed on your server.
.. note::
These instructions are for Debian only.
For Arch Linux please refer to the `Arch Linux wiki <https://wiki.archlinux.org/index.php/Apache>`_.
Ensure you have a recent version of Apache2 installed on your server.
You'll also need the following dependencies::
sudo apt-get install libapache2-mod-xsendfile
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment