RF-Swift-docs/source/getting-started/install.rst

138 lines
3.9 KiB
ReStructuredText

.. _rfswift_install:
Installing RF Swift
===================
To install RF Swift, you have to choice using the pre-compiled binary wrapper depending on your system and pull an existing container image, or to compile the Go project and/or the Docker images from sources.
.. warning::
Even if the project, could work on macOS with some manual workaround, we do not adverstise it for the moment, but this system will be a 100% supported anytime soon.
This documentation guides you through different steps you can follow to be running the project smoothly.
First, you need to get or compile the `rfswift` binary, and then pull or bake your own Docker images.
Requirements
------------
The minimum requirements to run the project are the following:
.. tabs::
.. group-tab:: Linux
Docker is needed at least to run RF Swift containers. It can be directly your prefered package manager, such as APT or installed manually.
.. tip::
From Linux systems, Docker can be installed quickly and easily with the following command-line:
.. code-block:: bash
curl -fsSL "https://get.docker.com/" | sh
Other dependencies will be also needed such as:
* ``xhost`` to install depending on your distribution
* ``pulseaudio`` to install depending on your distribution
.. group-tab:: macOS
.. warning::
This system will be soon supported at 100%
.. group-tab:: Windows
* `Docker Desktop <https://docs.docker.com/desktop/install/windows-install/>`__ to run container
* `usbipd <https://learn.microsoft.com/en-us/windows/wsl/connect-usb>`__ to bind USB devices to the host
* For programs using PulseAudio, follow steps in the following `pulseaudio page <https://www.linuxuprising.com/2021/03/how-to-get-sound-pulseaudio-to-work-on.html>`_ using `new binaries here <https://pgaskin.net/pulseaudio-win32/>`_.
.. warning::
Make sure Docker Desktop runs in `WSL2 <https://docs.docker.com/desktop/wsl/#enabling-docker-support-in-wsl-2-distros>`__.
Then RF Swift can be used directly from the precompiled binary, or compile from source.
RF Swift binary
---------------
Option 1. Pre-compiled binary
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
You can also use one of our `precompiled binaries <https://github.com/PentHertz/RF-Swift/tags>`_ directly to use RF Swift.
For that, download the latest binary depending on your architectures.
On Linux you'll have to change the right to make it executable:
.. raw:: html
<script src="https://asciinema.org/a/wRMJ0m9m1HCsQgGiNBw5TkKwK.js" id="asciicast-wRMJ0m9m1HCsQgGiNBw5TkKwK" async="true"></script>
Option 2. Compiling from source
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To install RF Swift from source, you will have to clone the following Git project:
.. code-block:: bash
git clone https://github.com/PentHertz/RF-Swift.git
If you want to compile the project, Golang will be also a requirement, but using the provided installation script in the root directory:
.. tabs::
.. group-tab:: Linux
.. code-block:: bash
./build.sh
[+] Installing Go
...
[+] Building RF Switch Go Project
...
.. group-tab:: macOS
.. warning::
This system will be soon supported at 100%
.. group-tab:: Windows
.. code-block:: bash
build-windows.bat
[+] Installing Go
...
[+] Building RF Switch Go Project
...
Here is an example using Linux:
.. raw:: html
<script src="https://asciinema.org/a/rR241pLHpiKdW2de97WMqYfzH.js" id="asciicast-rR241pLHpiKdW2de97WMqYfzH" async="true"></script>
After building the Go binary is built, we can ``pull`` an existing image, or build one from available Docker files, or also bake one of our own!
.. warning::
When the installation script asks for a name to build an image (e.g: ``Enter image tag value``) you can skip it to use prebuilt Docker images to avoid long compilation time, and use ``pull`` command using ``rfswift``.