Skip to content

Installation Guide — RHEL 8+ / CentOS / Rocky Linux

This guide covers installing Faraday Pro or Corporate edition on Red Hat-based distributions using .rpm packages.

Prerequisites

  • RHEL 8+, CentOS Stream 8+, Rocky Linux 8+, or AlmaLinux 8+ (64-bit)
  • Root or sudo access
  • PostgreSQL 12+ (14+ recommended)
  • Redis 6.0+ (7.x recommended)

Step 1 — Install EPEL Repository

sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm

For RHEL 9 / Rocky 9:

sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm

Step 2 — Install PostgreSQL

Install PostgreSQL from the distribution repositories:

sudo dnf install -y postgresql-server postgresql

PostgreSQL version

Faraday requires PostgreSQL 12 or higher. PostgreSQL 9.6–11 are end-of-life and unsupported. RHEL 8's default PostgreSQL module stream is 10, which is too old. Use the PostgreSQL module stream or the PGDG repository:

# Option A: Use module stream (RHEL 8)
sudo dnf module enable postgresql:14
sudo dnf install -y postgresql-server postgresql

# Option B: Use PGDG repository
sudo dnf install -y https://download.postgresql.org/pub/repos/yum/reporpms/EL-8-x86_64/pgdg-redhat-repo-latest.noarch.rpm
sudo dnf install -y postgresql14-server postgresql14

Initialize and start PostgreSQL:

sudo postgresql-setup --initdb
sudo systemctl start postgresql
sudo systemctl enable postgresql

Configure PostgreSQL Authentication

Edit /var/lib/pgsql/data/pg_hba.conf and set the local authentication method to scram-sha-256 (or md5 for older clients):

# IPv4 local connections:
host    all    all    127.0.0.1/32    scram-sha-256
# IPv6 local connections:
host    all    all    ::1/128         scram-sha-256

Restart PostgreSQL to apply changes:

sudo systemctl restart postgresql

Step 3 — Install Redis

sudo dnf install -y redis
sudo systemctl start redis
sudo systemctl enable redis

Verify Redis is running:

sudo systemctl status redis

Redis version

Faraday requires Redis 6.0 or higher. Check your version with redis-server --version.

Step 4 — Configure SELinux

If SELinux is enforcing, you need to allow Faraday to connect to PostgreSQL and Redis:

sudo setsebool -P httpd_can_network_connect_db 1
sudo setsebool -P httpd_can_network_connect 1

Warning

Avoid using setenforce 0 (permissive mode) in production. Instead, configure the appropriate SELinux booleans as shown above, or create a custom SELinux policy module.

Step 5 — Download and Install Faraday

Download the .rpm package from portal.faradaysec.com:

sudo dnf install -y ./faraday-server.x86_64.rpm

Step 6 — Initialize the Database

sudo faraday-manage initdb

This creates the database schema, admin user, and applies migrations. Save the generated password — you will need it to log in.

The initdb command is a convenience wrapper that runs:

  1. faraday-manage create-tables — Creates the database schema
  2. faraday-manage create-superuser — Creates the admin user
  3. faraday-manage migrate — Applies pending database migrations

Step 7 — Import License (Pro/Corp only)

sudo faraday-manage import-license

Or manually extract the license:

tar xvf license-file.tar.gz -C /home/faraday/.faraday/doc/

Step 8 — Start Services

# Start and enable the main API server
sudo systemctl start faraday-server
sudo systemctl enable faraday-server

# Start and enable the background task worker
sudo systemctl start faraday-worker
sudo systemctl enable faraday-worker

# Start and enable the reports worker
sudo systemctl start faraday-worker-reports
sudo systemctl enable faraday-worker-reports

All three services are required

The faraday-worker service processes background tasks including vulnerability ingestion via Celery. Without it, data imports and scan processing will not work.

Verify Installation

sudo systemctl status faraday-server
sudo systemctl status faraday-worker
sudo systemctl status faraday-worker-reports

Open http://localhost:5985 in your browser and log in with the credentials from Step 6.

Configuration

The server configuration file is located at:

/home/faraday/.faraday/config/server.ini

See the Linux Installation Guide for configuration details.

Next Steps