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:: .. 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 External dependencies
--------------------- ---------------------
...@@ -17,13 +17,18 @@ Install utilities ...@@ -17,13 +17,18 @@ Install utilities
----------------- -----------------
You'll need a few utilities during this guide that are not always present by 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 .. code-block:: shell
sudo apt-get update sudo apt-get update
sudo apt-get install curl python3-pip python3-venv git unzip 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 Layout
------- -------
...@@ -41,7 +46,7 @@ Create the user and the directory: ...@@ -41,7 +46,7 @@ Create the user and the directory:
.. code-block:: shell .. 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 cd /srv/funkwhale
Log in as the newly created user from now on: Log in as the newly created user from now on:
...@@ -113,9 +118,10 @@ First, switch to the api directory: ...@@ -113,9 +118,10 @@ First, switch to the api directory:
cd api cd api
A few OS packages are required in order to run Funkwhale. The list is available A few OS packages are required in order to run Funkwhale. On Debian-like
in ``api/requirements.apt`` or by running systems, the list is available in ``api/requirements.apt`` or by running
``./install_os_dependencies.sh list``. ``./install_os_dependencies.sh list`` and in ``api/requirements.pac`` on
Arch.
.. note:: .. note::
...@@ -124,10 +130,18 @@ in ``api/requirements.apt`` or by running ...@@ -124,10 +130,18 @@ in ``api/requirements.apt`` or by running
You can install those packages all at once: You can install those packages all at once:
On Debian-like systems:
.. code-block:: shell .. code-block:: shell
./install_os_dependencies.sh install ./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. From now on you can switch back to the funkwhale user.
Python dependencies Python dependencies
...@@ -143,11 +157,12 @@ To avoid collisions with other software on your system, Python dependencies ...@@ -143,11 +157,12 @@ To avoid collisions with other software on your system, Python dependencies
will be installed in a dedicated will be installed in a dedicated
`virtualenv <https://docs.python.org/3/library/venv.html>`_. `virtualenv <https://docs.python.org/3/library/venv.html>`_.
First, create the virtualenv: First, create the virtualenv and install wheel:
.. code-block:: shell .. code-block:: shell
python3 -m venv /srv/funkwhale/virtualenv python3 -m venv /srv/funkwhale/virtualenv
pip install wheel
This will result in a ``virtualenv`` directory being created in This will result in a ``virtualenv`` directory being created in
``/srv/funkwhale/virtualenv``. ``/srv/funkwhale/virtualenv``.
...@@ -165,12 +180,11 @@ Finally, install the python dependencies: ...@@ -165,12 +180,11 @@ Finally, install the python dependencies:
.. code-block:: shell .. code-block:: shell
pip install wheel
pip install -r api/requirements.txt pip install -r api/requirements.txt
.. important:: .. 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 the virtualenv, as described earlier, otherwise those commands will raise
errors errors
......
...@@ -20,6 +20,14 @@ On Debian-like systems, you would install the database server like this: ...@@ -20,6 +20,14 @@ On Debian-like systems, you would install the database server like this:
sudo apt-get install postgresql postgresql-contrib 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>`_. 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: Open a database shell:
...@@ -75,4 +83,10 @@ install it: ...@@ -75,4 +83,10 @@ install it:
sudo apt-get install redis-server 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. This should be enough to have your redis server set up.
...@@ -56,7 +56,7 @@ Available installation methods ...@@ -56,7 +56,7 @@ Available installation methods
------------------------------- -------------------------------
Docker is the recommended and easiest way to setup your Funkwhale instance. 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:: .. toctree::
:maxdepth: 1 :maxdepth: 1
...@@ -108,6 +108,12 @@ Ensure you have a recent version of nginx on your server. On Debian-like system, ...@@ -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 update
sudo apt-get install nginx 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: Then, download our sample virtualhost file and proxy conf:
.. parsed-literal:: .. parsed-literal::
...@@ -129,7 +135,12 @@ If everything is fine, you can restart your nginx server with ``service nginx re ...@@ -129,7 +135,12 @@ If everything is fine, you can restart your nginx server with ``service nginx re
Apache2 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:: You'll also need the following dependencies::
sudo apt-get install libapache2-mod-xsendfile sudo apt-get install libapache2-mod-xsendfile
......
Supports Markdown
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