Installation

Fiona 8 is our powerful content management solution for enterprises looking for a professional yet easy-to-use CMS that can be installed and maintained in private clouds or on premise.

Fiona 8 is made available as Docker images. Docker is a tool for creating, deploying, managing and running applications using containers. Containers facilitate scaling your web application, they packages up code and all its dependencies so the application runs quickly and reliably from one computing environment to another.

Requirements

The following minimum system requirements apply. They are subject to change.

  • Operating system
    The OS of the target machine needs to support Docker and Docker Compose.
  • CPU
    Four physical cores.
  • File system
    The file system should be large enough to hold all editorial content: text, binaries such as images and PDF files, etc. Reserve some additional space for internal management purposes. Reserve space for search indexes. It is possible to connect a NAS.
  • RAM
    32 GB or more.

Overview of the Docker services for Fiona 8

  • backend
    The backend defines server-side API endpoints that are consumed by the Scrivito SDK, e.g. for fetching content.
  • nginx
    A reverse proxy in front of the backend. It exposes port 8080 for accepting requests from website visitors and editors.
  • mysql/mariadb
    This database stores structural information about working copies, CMS objects, etc. It exposes port 3306 for maintenance purposes.
  • minio
    This S3 compatible storage is used for storing all CMS content such as text, images, PDF files, etc. It exposes port 9000 for accepting requests for downloading and uploading website content.
  • binaryservice
    Optimizes (resizes) images based on the web clients’ display dimensions to minimize loading times. It also extracts PDF and image metadata.
  • elasticsearch
    Search engine for finding content.
  • background_worker and background_scheduler
    Services for handling background jobs.
  • redis
    The job queue for the above-mentioned background jobs.
  • memcached
    Memory-based caching system for improving the overall performance of Fiona 8.
  • cache_cleaner
    Cleans up file system caches from time to time.

Installation procedure

Running Fiona 8 requires a license from JustRelate. You will receive a Fiona 8 docker-compose.yml file from our customer support. Please proceed as follows to install Fiona 8:

1. Install Docker and Docker Compose

Make sure that your OS supports Docker, then install Docker/Compose for your host operating system. If you are new to Docker, we recommend following the Docker installation guides. Likewise for Docker Compose.

2. Prepare to download the Fiona 8 Docker images

The images are hosted on AWS ECR. Please proceed as follows.

Install the AWS command line client:

Get your AWS Access Key ID and Secret Access Key from our Customer Support. Configure a local AWS profile:

In the dialog, enter the appropriate values:

If you are using AWS CLI version 1, execute:

Alternatively, if you are using AWS CLI version 2, execute:

3. Set up two HTTPS terminators

Both terminators need to be reachable from the internet/intranet (HTTP won't do as the Scrivito SDK only connects via HTTPS and only if the certificate validates):

  • https://your-fiona8-backend.com (replace this with your Fiona 8 URL). This URL should be connected using port 8080 (nginx). This corresponds to Scrivito's https://api.scrivito.com.
  • https://your-cdn.com (replace this with your Fiona 8 blob storage URL). This URL should be connected via port 9000 (minio). This corresponds to Scrivito's https://cdn.scrvt.com.

4. Prepare your OS for Elasticsearch

Run the following shell commands:

5. Configure Docker

Edit the config section in the docker-compose.yml file. See the comments in this file for explanations.

Some configuration settings, e.g. secrets or the license, need to be changed:

Some entries are already preconfigured with sensible values:

We recommend mounting external volumes into the Docker environment, like so:

If you follow this approach, make sure to create these directories if necessary:

6. Start Docker Compose

On the first start, missing Docker images will be downloaded automatically, including those on Fiona's AWS ECR:

7. Check the Docker services

Make sure that all services are running:

8. Set up database and search engine

Start a backend shell with:

Then, in the backend shell:

Leave the backend shell.

9. Create your CMS tenant

10. Configure your project app for connecting to Fiona 8

Each version of Fiona 8 is geared to a specific version of the Scrivito SDK, the maximum version it supports. The current version of Fiona 8 is aligned to the Scrivito SDK 1.30. Previous SDK versions may work as well but have not been tested for compatibility with Fiona 8. Do not update the Scrivito SDK to a later version than the one your Fiona 8 version relies on as this may cause subtle errors that cannot be worked around easily.

For a Rails app

Edit config/initializers/scrivito.rb:

Note that we are no longer actively developing our Scrivito for Rails SDK.

For a JavaScript app

Edit .env:

Start a backend shell with:

In the backend shell, add your application’s domain to the list of allowed origins:

For development purposes, it already contains http://localhost:8080.

Configure an editor identity provider (IdP) for your tenant:

Set up the administrator user – which must be able to log in via the configured IdP – for your tenant:

Leave the backend shell.

Troubleshooting

Fiona 8 redirects every request to the same URL

Most probably, this is a redirect to HTTPS, even though the URL already uses HTTPS. Since Fiona 8 doesn’t seem to know about that, make sure to add an X-Forwarded-Proto header to your HTTPS terminator, e.g. in your Apache web server add the following line to your host configuration: