2. Installation

Backend is installed from binary packages in distribution and frontend is installed via Docker.

Prerequisites

Frontend requires Python version 3.6 or higher.

We support Django version 2.2 or higher.

To install and use Ferda, you need a running FRED system. You can find the information about FRED’s installation here.

2.1. How to Install

2.1.1. Backend

Ferda’s backend is a part of FRED’s backend and its installation is described here.

2.1.2. Frontend

Important

As of version 19.03.9, Docker has no support for nftables. This is a problem in case you are using nftables (Debian 10, Fedora 32, CentOS 8 and RHEL 8 all default to nftables). In that case you need to tell docker to stop adding iptables rules and manage the NAT rules for the container to work yourself.

Simply create /etc/docker/daemon.json with the following content:

/etc/docker/daemon.json
 {
     "iptables": false
 }
  1. Clone Ferda and Gloss repositories:

    git clone https://gitlab.nic.cz/fred/ferda.git
    git clone https://gitlab.nic.cz/fred/backend/gloss.git
    
  2. Write a configuration into the .env file. The format of the configuration is described here: https://docs.docker.com/compose/env-file/

    Example:

    SECRET_KEY=Long and random secret key.
    FERDA_REGISTRY_NETLOC=localhost:50051
    DEBUG=false
    

    Note

    At least SECRET_KEY and FERDA_REGISTRY_NETLOC need to be specified, because Ferda will not work without them. We also recommend configuring DATABASE_URL, otherwise you will lose Ferda’s database each time you delete the container. You can find the format at https://django-environ.readthedocs.io/ (note that the sqlite address references the files inside the docker container, not at the host machine).

  3. Create images:

    EXTRAS=ldap docker-compose -f ferda/docker/docker-compose.yml build
    docker-compose -f gloss/docker/docker-compose.yml build
    
  4. Run the container:

    docker-compose -f ferda/docker/docker-compose.yml -f gloss/docker/docker-compose.yml up
    

    Important

    The Docker image by default exposes ports 80 and 443. If you have followed the FRED Installation Manual on the same exact machine you will be running Ferda on, it’s necessary to adjust its exposed ports so they don’t collide with the Apache webserver.

    To do that all that’s needed is to open ferda/docker/docker-compose.yml with your favourite text editor and adjust the published: values accordingly.

  5. Now you can find the running Ferda system at https://localhost/.