Fix #165: better documentation for hardware requirements and memory usage
This commit is contained in:
parent
74bd0bae8c
commit
abd329fa75
|
@ -20,6 +20,14 @@ services:
|
||||||
restart: unless-stopped
|
restart: unless-stopped
|
||||||
image: funkwhale/funkwhale:${FUNKWHALE_VERSION:-latest}
|
image: funkwhale/funkwhale:${FUNKWHALE_VERSION:-latest}
|
||||||
env_file: .env
|
env_file: .env
|
||||||
|
# Celery workers handle background tasks (such file imports or federation
|
||||||
|
# messaging). The more processes a worker gets, the more tasks
|
||||||
|
# can be processed in parallel. However, more processes also means
|
||||||
|
# a bigger memory footprint.
|
||||||
|
# By default, a worker will span a number of process equal to your number
|
||||||
|
# of CPUs. You can adjust this, by explicitly setting the --concurrency
|
||||||
|
# flag:
|
||||||
|
# celery -A funkwhale_api.taskapp worker -l INFO --concurrency=4
|
||||||
command: celery -A funkwhale_api.taskapp worker -l INFO
|
command: celery -A funkwhale_api.taskapp worker -l INFO
|
||||||
links:
|
links:
|
||||||
- postgres
|
- postgres
|
||||||
|
|
|
@ -8,6 +8,14 @@ User=funkwhale
|
||||||
# adapt this depending on the path of your funkwhale installation
|
# adapt this depending on the path of your funkwhale installation
|
||||||
WorkingDirectory=/srv/funkwhale/api
|
WorkingDirectory=/srv/funkwhale/api
|
||||||
EnvironmentFile=/srv/funkwhale/config/.env
|
EnvironmentFile=/srv/funkwhale/config/.env
|
||||||
|
# Celery workers handle background tasks (such file imports or federation
|
||||||
|
# messaging). The more processes a worker gets, the more tasks
|
||||||
|
# can be processed in parallel. However, more processes also means
|
||||||
|
# a bigger memory footprint.
|
||||||
|
# By default, a worker will span a number of process equal to your number
|
||||||
|
# of CPUs. You can adjust this, by explicitly setting the --concurrency
|
||||||
|
# flag:
|
||||||
|
# celery -A funkwhale_api.taskapp worker -l INFO --concurrency=4
|
||||||
ExecStart=/srv/funkwhale/virtualenv/bin/celery -A funkwhale_api.taskapp worker -l INFO
|
ExecStart=/srv/funkwhale/virtualenv/bin/celery -A funkwhale_api.taskapp worker -l INFO
|
||||||
|
|
||||||
[Install]
|
[Install]
|
||||||
|
|
|
@ -12,9 +12,48 @@ The project relies on the following components and services to work:
|
||||||
- A celery worker to run asynchronouse tasks (such as music import)
|
- A celery worker to run asynchronouse tasks (such as music import)
|
||||||
- A celery scheduler to run recurrent tasks
|
- A celery scheduler to run recurrent tasks
|
||||||
|
|
||||||
|
|
||||||
|
Hardware requirements
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Funkwhale is not especially CPU hungry, unless you're relying heavily
|
||||||
|
on the transcoding feature (which is basic and unoptimized at the moment).
|
||||||
|
|
||||||
|
On a dockerized instance with 2 CPUs and a few active users, the memory footprint is around ~500Mb::
|
||||||
|
|
||||||
|
CONTAINER MEM USAGE
|
||||||
|
funkwhale_api_1 202.1 MiB
|
||||||
|
funkwhale_celerybeat_1 96.52 MiB
|
||||||
|
funkwhale_celeryworker_1 168.7 MiB
|
||||||
|
funkwhale_postgres_1 22.73 MiB
|
||||||
|
funkwhale_redis_1 1.496 MiB
|
||||||
|
|
||||||
|
Thus, Funkwhale should run fine on commodity hardware, small hosting boxes and
|
||||||
|
Raspberry Pi. We lack real-world exemples of such deployments, so don't hesitate
|
||||||
|
do give us your feedback (either positive or negative).
|
||||||
|
|
||||||
|
Software requirements
|
||||||
|
---------------------
|
||||||
|
|
||||||
|
Software requirements will vary depending of your installation method. For
|
||||||
|
Docker-based installations, the only requirement will be an Nginx reverse-proxy
|
||||||
|
that will expose your instance to the outside world.
|
||||||
|
|
||||||
|
If you plan to install your Funkwhale instance without Docker, most of the
|
||||||
|
dependencies should be available in your distribution's repositories.
|
||||||
|
|
||||||
|
.. note::
|
||||||
|
|
||||||
|
Funkwhale works only with Pyhon >= 3.5, as we need support for async/await.
|
||||||
|
Older versions of Python are not supported.
|
||||||
|
|
||||||
|
|
||||||
Available installation methods
|
Available installation methods
|
||||||
-------------------------------
|
-------------------------------
|
||||||
|
|
||||||
|
Docker is the recommended and easiest way to setup your Funkwhale instance.
|
||||||
|
We also maintain an installation guide for Debian 9.
|
||||||
|
|
||||||
.. toctree::
|
.. toctree::
|
||||||
:maxdepth: 1
|
:maxdepth: 1
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue