Installing freva-deployment#
This section gives an overview over how to install the deployment software for freva.
The main work will be done by ansible, hence some level of familiarity with ansible is advantageous but not necessary. Since we are using ansible we can use this deployment routine from any workstation computer (like a Mac-book). You do not need to run the deployment on the machines where things get installed. The only requirement is that you have to setup ansible and you can establish ssh connections to the servers.
There are different ways to install the deployment software.
1. Using pre-built binaries.#
You can download the pre-built binaries for your specific OS and architecture from the release page.
Available Binaries#
After downloading version 2407.2.0 file for your operating system and architecture,
you can run the deploy-freva (deploy-freva.exe on windows) command:
Usage: deploy-freva [-h] [-v] [-V] [--cowsay] {cmd} ...
Run the freva deployment
Positional Arguments:
{cmd}
cmd Run deployment in batch mode.
Options:
-h, --help show this help message and exit
-v, --verbose Verbosity level (default: 0)
-V, --version show program's version number and exit
--cowsay Let the cow speak! (default: False)
2. Installation via pip.#
If you’re using Linux, OsX or a Windows subsystem for Linux (WSL) you can use pip to install the deployment software:
python3 -m pip install -U freva-deployment
This command installs ansible and all required python packages.
Note: On CentOS python SELinux libraries need to be installed. You will need to install libselinux for your CentOS version.
python3 -m pip install libselinux-python3
3. Using docker#
A pre-built docker image is available to run the deployment
docker run -it -v /path/to/config:/opt/freva-deployment:z ghcr.io/freva-clint/freva-deployment
The -it flags are important in order to interact with the program. To use
and save existing configurations you can mount the directories of the config
files into the container.
Commands after installation:#
The pip install command will create three different commands:
deploy-freva: Main deployment command.deploy-freva-cmd: Run already configured deployment. This is a legacy command please usedeploy-freva cmdinstead.freva-migrate: Command line interface to manage project migration from old freva systems to new ones. This command is only available in the docker container image and if the software was installed via pip
Note: You can use the
-lflag of thedeploy-freva cmdcommand or tick the local deployment only box in the setup page of the text user interface if you only want to try out the deployment on your local machine. Without having to install anything on remote machines.
Installing docker/podman to the service servers#
Because the services of MariaDB, DatabrowserAPI and Apache httpd will be deployed
on container images, docker or podman needs to be available on the target servers.
Since version v2309.0.0 of the deployment the containers are set up
using doker-compose or podman-compose. The deployment will install,
docker-compose or podman-compose if not already available on the servers.
Hence, on the servers that will be running docker l need root access. There exists an option to install and run docker without root, information on a root-less docker option can be found on the docker docs
Note: The deployment will automatically check the availability of docker or podman and chose the software that is available on each server.