Skip to content
Snippets Groups Projects
Commit dc5eb115 authored by Eliot Berriot's avatar Eliot Berriot
Browse files

Merge branch 'develop' into 'develop'

Various improvements to docs

See merge request !324
parents 309eb845 8ecdc64e
No related branches found
No related tags found
No related merge requests found
......@@ -106,6 +106,24 @@ Then we'll download the frontend files:
mv extracted/front .
rm -rf extracted
.. note::
You can also choose to get the code directly from the git repo. In this
case, run
cd /srv
rm -r funkwhale
git clone https://code.eliotberriot.com/funkwhale/funkwhale funkwhale
cd funkwhale
You'll also need to re-create the folders we make earlier:
mkdir -p config data/static data/media data/music front
You will still need to get the frontend files as specified before, because
we're not going to build them.
You can leave the ZIP archives in the directory, this will help you know
which version you've installed next time you want to upgrade your installation.
......@@ -119,30 +137,19 @@ First, switch to the api directory:
cd api
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::
Ensure you are running the next commands as root or using sudo
(and not as the funkwhale) user.
You can install those packages all at once:
On Debian-like systems:
systems, they can be installed with
.. code-block:: shell
./install_os_dependencies.sh install
sudo apt install build-essential ffmpeg libjpeg-dev libmagic-dev libpq-dev postgresql-client python3-dev
On Arch Linux and its derivatives:
On Arch, run
.. code-block:: shell
pacman -S $(cat api/requirements.pac)
From now on you can switch back to the funkwhale user.
From now on, you should use the funkwhale user for all commands.
Python dependencies
--------------------
......@@ -162,7 +169,7 @@ First, create the virtualenv and install wheel:
.. code-block:: shell
python3 -m venv /srv/funkwhale/virtualenv
pip install wheel
pip3 install wheel
This will result in a ``virtualenv`` directory being created in
``/srv/funkwhale/virtualenv``.
......@@ -202,8 +209,15 @@ Download the sample environment file:
curl -L -o config/.env "https://code.eliotberriot.com/funkwhale/funkwhale/raw/|version|/deploy/env.prod.sample"
.. note::
if you used git to get the latest version of the code earlier, you can instead do
cp /srv/funkwhale/deploy/env.prod.sample /srv/funkwhale/config/.env
You can then edit it: the file is heavily commented, and the most relevant
configuration options are mentionned at the top of the file.
configuration options are mentioned at the top of the file.
Especially, populate the ``DATABASE_URL`` and ``CACHE_URL`` values based on
how you configured your PostgreSQL and Redis servers in
......@@ -212,30 +226,15 @@ how you configured your PostgreSQL and Redis servers in
When you want to run command on the API server, such as to create the
database or compile static files, you have to ensure you source
the environment variables.
the environment variables in that file.
This can be done like this::
export $(cat config/.env | grep -v ^# | xargs)
The easier thing to do is to store this in a script::
cat > /srv/funkwhale/load_env <<'EOL'
#!/bin/bash
export $(cat /srv/funkwhale/config/.env | grep -v ^# | xargs)
EOL
chmod +x /srv/funkwhale/load_env
You should now be able to run the following to populate your environment
variables easily:
.. code-block:: shell
source /srv/funkwhale/load_env
.. note::
Remember to source ``load_env`` whenever you edit your .env file.
Remember to reload these variables whenever you edit your .env file.
Database setup
---------------
......@@ -281,7 +280,7 @@ Collect static files
--------------------
Static files are the static assets used by the API server (icon PNGs, CSS, etc.).
We need to collect them explicitely, so they can be served by the webserver:
We need to collect them explicitly, so they can be served by the webserver:
.. code-block:: shell
......
......@@ -45,15 +45,16 @@ Create the project database and user:
CREATE USER funkwhale;
GRANT ALL PRIVILEGES ON DATABASE funkwhale TO funkwhale;
Assuming you already have :ref:`created your funkwhale user <create-funkwhale-user>`,
you should now be able to open a postgresql shell:
.. warning::
It's importing that you use utf-8 encoding for your database,
It's important that you use utf-8 encoding for your database,
otherwise you'll end up with errors and crashes later on when dealing
with music metedata that contains non-ascii chars.
Assuming you already have :ref:`created your funkwhale user <create-funkwhale-user>`,
you should now be able to open a postgresql shell:
.. code-block:: shell
sudo -u funkwhale -H psql
......
......@@ -2,7 +2,7 @@ Optimizing your Funkwhale instance
==================================
Depending on your requirements, you may want to reduce as much as possible
Funkwhale's footprint.
Funkwhale's memory footprint.
Reduce workers concurrency
--------------------------
......@@ -14,9 +14,9 @@ memory usage.
You can control this behaviour using the ``--concurrency`` flag.
For instance, setting ``--concurrency=1`` will spawn only one worker.
This flag should be appended after the ``celery -A funkwhale_api.taskapp worker``
command in your :file:`docker-compose.yml` file if your using Docker, or in your
:file:`/etc/systemd/system/funkwhale-worker.service` otherwise.
This flag should be appended after the ``celery -A funkwhale_api.taskapp
worker`` command in your :file:`docker-compose.yml` file if your using Docker,
or in your :file:`/etc/systemd/system/funkwhale-worker.service` otherwise.
.. note::
......@@ -33,5 +33,5 @@ Using the ``solo`` pool type should reduce your memory consumption.
You can control this behaviour using the ``--pool=solo`` flag.
This flag should be appended after the ``celery -A funkwhale_api.taskapp worker``
command in your :file:`docker-compose.yml` file if your using Docker, or in your
:file:`/etc/systemd/system/funkwhale-worker.service` otherwise.
command in your :file:`docker-compose.yml` file if you're using Docker, or in
your :file:`/etc/systemd/system/funkwhale-worker.service` otherwise.
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment