Added documentation to build the Docker images

merge-requests/552/head
Eliot Berriot 2019-01-21 16:44:57 +01:00
rodzic 29083f72ea
commit e44b9e0418
Nie znaleziono w bazie danych klucza dla tego podpisu
ID klucza GPG: DD6965E2476E5C27
4 zmienionych plików z 80 dodań i 0 usunięć

Wyświetl plik

@ -58,6 +58,8 @@ author = "Eliot Berriot"
#
# The short X.Y version.
version = funkwhale_api.__version__
if "-dev" in version:
version = "develop"
# The full version, including alpha/beta/rc tags.
release = version

Wyświetl plik

@ -8,6 +8,12 @@ We support two types of Docker deployments:
- :ref:`Mono-container <docker-mono-container>`: all processes live in the same container (database, nginx, redis, etc.). It's easier to deploy and to integrate with container management systems like Portainer. However, it's not possible to scale this type of deployment on multiple servers.
- :ref:`Multi-container <docker-multi-container>`: each process lives in a dedicated container. This setup is more involved but also more flexible and scalable.
.. note::
We do not distribute Docker images for non-amd64 architectures yet. However, :doc:`you can easily build
those images yourself following our instructions <non_amd64_architectures>`, and come back to this installation guide once
the build is over.
.. _docker-mono-container:
Mono-container installation

Wyświetl plik

@ -71,6 +71,7 @@ We also maintain an installation guide for Debian 9 and Arch Linux.
debian
docker
systemd
non_amd64_architectures
Funkwhale packages are available for the following platforms:

Wyświetl plik

@ -0,0 +1,71 @@
Running Funkwhale on non amd64 architectures
============================================
Funkwhale should be runnable on any architecture assuming Funkwhale installation dependencies are satisfied.
On non-docker deployments (e.g. when deploying on debian), this should be completely transparent.
On docker deployments, you will need to build Funkwhale's image yourself, because we don't provide
pre-built multi-arch images on the Docker Hub yet. The build process itself only requires git,
Docker and is described below.
Building the mono-process Docker image (funkwhale/funkwhale)
-------------------------------------------------------------
This image is intended to be used in conjunction with our :ref:`Multi-container installation guide <docker-multi-container>`.
guide.
.. parsed-literal::
export FUNKWHALE_VERSION="|version|"
.. note::
Replace by develop for building a development branch image.
.. code-block:: shell
cd /tmp
git clone https://dev.funkwhale.audio/funkwhale/funkwhale.git
cd funkwhale
git checkout $FUNKWHALE_VERSION
cd api
# download the pre-built front-end files
frontend_artifacts="https://dev.funkwhale.audio/funkwhale/funkwhale/-/jobs/artifacts/$FUNKWHALE_VERSION/download?job=build_front"
curl -L -o front.zip $frontend_artifacts
unzip front.zip
cp -r front/dist frontend
docker build -t funkwhale/funkwhale:$FUNKWHALE_VERSION .
Building the mono-container Docker image (funkwhale/funkwhale)
-------------------------------------------------------------
This image is intended to be used in conjunction with our :ref:`Mono-container installation guide <docker-mono-container>`.
guide.
.. parsed-literal::
export FUNKWHALE_VERSION="|version|"
.. note::
Replace by develop for building a development branch image.
.. code-block:: shell
cd /tmp
git clone https://github.com/thetarkus/docker-funkwhale.git
cd docker-funkwhale
# download the pre-built front-end files
# download Funkwhale front and api artifacts and nginx configuration
./scripts/download-artifact.sh src/ $FUNKWHALE_VERSION build_front
./scripts/download-artifact.sh src/ $FUNKWHALE_VERSION build_api
./scripts/download-nginx-template.sh src/ $FUNKWHALE_VERSION
docker build --build-arg=arch=$(uname -m) -t funkwhale/all-in-one:$FUNKWHALE_VERSION .