From e44b9e04189c7f9750363935a07d6b61160dc188 Mon Sep 17 00:00:00 2001 From: Eliot Berriot <contact@eliotberriot.com> Date: Mon, 21 Jan 2019 16:44:57 +0100 Subject: [PATCH] Added documentation to build the Docker images --- docs/conf.py | 2 + docs/installation/docker.rst | 6 ++ docs/installation/index.rst | 1 + docs/installation/non_amd64_architectures.rst | 71 +++++++++++++++++++ 4 files changed, 80 insertions(+) create mode 100644 docs/installation/non_amd64_architectures.rst diff --git a/docs/conf.py b/docs/conf.py index 8b1a3d41..f371fa16 100644 --- a/docs/conf.py +++ b/docs/conf.py @@ -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 diff --git a/docs/installation/docker.rst b/docs/installation/docker.rst index a63ffee9..f47b90b8 100644 --- a/docs/installation/docker.rst +++ b/docs/installation/docker.rst @@ -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 diff --git a/docs/installation/index.rst b/docs/installation/index.rst index 6ad60022..e155572b 100644 --- a/docs/installation/index.rst +++ b/docs/installation/index.rst @@ -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: diff --git a/docs/installation/non_amd64_architectures.rst b/docs/installation/non_amd64_architectures.rst new file mode 100644 index 00000000..f49407b4 --- /dev/null +++ b/docs/installation/non_amd64_architectures.rst @@ -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 . -- GitLab