Skip to content

Docker Installation Professional and Corporate

dnadares edited this page Apr 10, 2019 · 18 revisions

This installation is intended for our commercial version of Faraday. For our community version, please check this installation guide

Loading Image

Once you have downloaded our image file from faraday portal you'll need to load it in docker:

    $ docker load -i <path to image tar.gz file>

Check Image

    $ docker image ls | grep faraday


This image can be run as a service or as a standalone container. Both run Faraday Server without PostgreSQL. You will note that we have created /faraday-license and /faraday-storage volumes (for mount your license and storage). We have also created environment variables for Faraday configuration.

We will get more in detail of these volumes and environment variables:


Current user's ~/.faraday/doc and ~/.faraday/storage folders are mounted by default. In case you have these folders in a different place, please replace them with proper path at the moment you run Faraday whether as a standalone container or as a service:



    [Running Faraday as a standalone container]
    $ docker run \
    -v /path/to/my_doc_folder:/faraday-license \
    -v /path/to/my_storage_folder:/faraday-storage \
    [Running Faraday as a service]
    $ vim docker-compose.yml

    version: '3.7'

        - /path/to/my_doc_folder:/faraday-license
        - /path/to/my_storage_folde:/faraday-storage

We will get more in details about this configuration below.

Enviroment Variables

The following variables came with default values so you'll need to customize some or all of them depending on your installation config.

      - PGSQL_HOST= # PostgreSQL server host.
      - PGSQL_USER=faraday_postgresql # PostgreSQL user
      - PGSQL_PASSWD=mypgsqlpassword # PostgreSQL user's password.
      - PGSQL_DBNAME=faraday # Faraday's database name

Running Faraday

Now that we have learn about the volumes and the enviroment variables above, let's run Faraday assuming we want to connect into PostreSQL's address and that we have located Faraday's config folder in its default location: ~/.faraday.

As a standalone container

Run the following command specifying the correct information:

   $ docker run \
     -v ~/.faraday/doc:/faraday-license \
     -v ~/.faraday/storage:/faraday-storage \
     -p 5985:5985 \
     -e PGSQL_HOST='' \
     -e PGSQL_PASSWD='mypgsqlpassword' \
     -e LISTEN_ADDR='' \

To check container, run the following command:

    $ docker container ls

As you can see, Faraday Server is running in port 5985.

As a service

1. Initialize a Swarm:

    $ docker swarm init

In case you have more than one ip addr configured in your machine you have to specify which one to use.

    $ docker swarm init --advertise-addr=

2. Docker Compose File:

Now, you need to create a docker-compose.yml file. You can use this docker-compose as example:

version: '3.7' 
    image: faraday:c_v3.7 
      - LISTEN_ADDR= 
      - PGSQL_HOST= 
      - PGSQL_USER=faraday_postgresql 
      - PGSQL_PASSWD=/run/secrets/pgsql_passwd 
      - PGSQL_DBNAME=faraday 
      - pgsql_passwd 
      - 5985:5985 
      - ~/.faraday/doc:/faraday-license 
      - ~/.faraday/storage:/faraday-storage 
      replicas: 1 
        constraints: [node.role == manager] 
    external: true

When Faraday runs as a service, PGSQL_PASSWD can be configured with docker secrets (default in docker-compose.yml). The simplest way to create a secret is reading from standard input (you should take care of bash history).

    $ printf mypgsqlpassword | docker secret create pgsql_passwd -

Once you have created the secret, edit you docker-compose.yml and set:

    $ vim docker-compose.yml

    version: '3.7'

        - PGSQL_PASSWD=/run/secrets/pgsql_passwd  

For more information about secrets, check docker web page

3. Deploy:

Once you are done setting up your docker-compile.yml file, let's deploy by running the following command:

    $ docker stack deploy -c docker-compose.yml faraday

4. Check service:

To check the service, run the following command:

    $ docker service ls
    $ docker service logs faraday_server

Web UI

Once Faraday Server is running you'll have to obtain the container's IP address. For this, run:

    $ docker inspect $(docker ps -lq) | grep \"IPAddress

This command will throw the following output:

            "IPAddress": "",
                    "IPAddress": "",

Now you can direct your browser to

Clone this wiki locally
You can’t perform that action at this time.