Installing and Managing Flix Server

Flix Server System Requirements

Mac

Sierra (10.12), High Sierra (10.13), Mojave (10.14)

4GB of RAM

Linux

CentOS/RHEL 7 (recommended) or 6.10 and higher, Ubuntu 18.04 LTS

A 64 bit processor @ 2GHz or higher

4GB of RAM

Note:  Flix Server is currently not available on Windows.
Other operating systems may work with Flix Server, but have not been fully tested.

Warning:  For security reasons, the date and time for the machine on which Flix Server is installed needs to be set correctly. This also applies to virtual machines. For more information, please refer to this Knowledge Base article.

Flix Server is the server application for Flix. Installation of MySQL 5.7 is required for Flix Server to run.

Installing and Running MySQL 5.7

Install MySQL and check that your MySQL server is running. Instructions for this can be found online.

Note:  The MySQL database doesn't need to be running on the same machine as the Flix Server. However, it must accept external connections over a network to allow for communication with your Flix Server(s). Refer to this KB article for more information.

Download Flix Server

Download Flix Server at https://www.foundry.com/products/flix/download.

Note:  You must be logged in to your Foundry account to download Flix Server.

Configuring Flix Server

You will need to set up a config.yml file before you can run Flix Server. By default, Flix Server will read the config file from the same directory as its binary file (flix_server). In order to make upgrading to future versions of Flix easier, we strongly recommend storing the config file in a different location and point to it when running Flix Server using the --config-file CLI argument. See Running the Server for more information.

Here's an example config.yml. You can download and edit a sample here.

hostname: flix001.mycompany.com http_port: 8080 mysql_hostname: db1.mycompany.com mysql_username: root mysql_password: password

Note:  You will need to make sure that the hostname option is set to a publicly available hostname or IP address. We recommend a fully qualified domain name and unique hostname for each server.

Tip:  Your firewall settings may need to be adjusted or disabled entirely to allow access on the port through which the Flix Server communicates with clients.

The Flix Server Address end users require is in the following format: http://[hostname]:[port]. Using the example config.yml above, the Flix Server Address is: http://flix001.mycompany.com:8080.

Warning:  macOS users: If you're installing the server on Mac OS, hostnames contain .local and aren't supported. Multicast DNS (mDNS) domains are not supported. As a workaround, set the public IP and hostname in your /etc/hosts file, for example: 172.168.3.42 flix.local

Tip:  See Flix Server Options for a full list of configuration options.

Setting a Custom Assets Directory

By default, your Flix assets are stored in an 'assets' directory, which is located in your install folder alongside the flix_server binary. We strongly recommend that you change this to a custom location, to make the upgrading process easier for all future releases of Flix. To do this, set the asset_directory option in your config.yml file. For example:

asset_directory: /mnt/flix-assets

Note:  If you were previously using Flix without specifying the asset directory, or changed the value of the asset_directory option, see Migrating Assets When Switching to a New Assets Directory to import assets from the original directory.

Setting up Shared Storage

Flix can be configured to store assets on shared storage, accessible by all servers. This way assets aren't siloed across multiple servers. To switch to shared storage, add the shared_storage setting into the config.yml file.

By default, under the assets directory, each server will have its own directory specified by the server identification number (a long string of numbers/characters) where it stores its own assets. If you want all the servers to store assets in a shared directory, set the shared_storage option to true. Every Flix Server stores the assets in the same directory specified by the asset_directory folder.

Note:  If you were previously using Flix without shared storage and want to switch, see Migrating Assets When Switching to a New Assets Directory to import assets from each server’s asset directory to the shared one.

Licensing Flix Server

Single server

If you plan on using only a single Flix Server then all you need is a nodelocked license for the Flix Server machine.

Note:  Please refer to our Licensing Documentation for instructions on installing a nodelocked license.

For more information on setting up a Flix 6 licence, see the following Knowledge Base article: Flix 6 Licensing Setup and Troubleshooting

Multiple servers

If you plan on using more than one Flix server, we recommend using a floating license, either hosted on one of the Flix Servers or from another dedicated license server.

Note:  Please refer to our Licensing Documentation for instructions on installing a floating license.

You will then need to point all of your Flix Servers to use the license floating from your Foundry License Server by setting the floating_license_hostname and floating_license_port config options.

For example, if your Foundry License Server is running on a machine called "my_license_server" and using the default port 4101 then you would set the following:

floating_license_hostname: my_license_server

floating_license_port: 4101

Tip:  If you’re unsure about the hostname and/or port to point your Flix Server to, you can refer to this section in our Licensing Documentation.

Setting Run Permission

Your OS may not give run permission to the flix_server binary by default. To ensure you can run it, enter the following command:

chmod +x flix_server

Note:  If you are upgrading to a new version, see Installing and Managing Flix Server.

Running the Server

If your server config file is located in the same directory as your Flix Server binary, you can run the server as follows:

./flix_server --verbose

Note:  The --verbose flag is optional, but is useful as it displays a more detailed log output in the console.

As mentioned above, we strongly recommend the server config file to be stored outside of the Flix Server directory. To point Flix Server to the location of the server config file, use the --config-file CLI flag. For example:

flix_server --verbose --config-file /mnt/flix/flix_config_prod.yml

Note:  The first time the Flix Server is run, it automatically creates an admin user with the username and password both set to admin, which you can use to log in to Flix for the first time. It is recommended that you change the default password after the first log in.

Note:  If Arial font is not installed or cannot be located on the operating system running Flix Server, publishes will fail with the following error: “cannot find font ‘arial.ttf’ in user or system directories”. We recommend that you install the Arial font into your system's default font directory, or specify a custom font directory using the font_directory option. For example: font_directory: /mnt/flix-fonts.

Command Line (CLI) Arguments

For a complete list of Command Line Arguments, simply run Flix Server with the --help flag. For example:

./flix_server --help

Upgrading to a new version of Flix

1.   Click here to download the latest version of Flix Server.
2.   Choose a directory and extract the files from the download package. These are the flix_server executable, flix-server-utility and thirdparty directory files.

Tip:  It may be simpler to extract the downloaded file and overwrite the existing flix_server executable, flix-server-utility and thirdparty directory files.

You can now open a command window to run Flix Server.

Note:  You'll need to make sure all the config.yml settings match your previous version of Flix 6 and the asset_directory location is set and pointing to the same location as the assets for your previous version.

Depending on the version you are upgrading to, Flix may ask you to upgrade the database. For example, Flix 6.1 needs database version 12. See the table below for corresponding server and database versions. If you need to upgrade your database, you can use the upgrade mode to mutate the database schema to the latest version:

./flix_server --db-upgrade

Once the database has been upgraded, you can start the server normally.

Note:  You will need to upgrade the Flix Client to the same version as your server. You can download the Flix Client from here.

Flix Server Version Required Database Version
6.0.0 4
6.0.1 - 6.0.5 5
6.1.0 - 6.1.2 12
6.2.0 - 6.2.2 20

Rolling back to an earlier version of Flix

Your production may at some stage want to roll back to an earlier version of Flix. You can do so with the following command:

./flix_server --db-downgrade

3.   Flix asks if you want to backup the database. Type Y (yes) or N (no).
4.   Enter the desired database version to roll back to. Please refer to the table above for reference.
5.   Type Y (yes) to confirm the database version or N (no) to enter a different version.

Note:  The latest version of Flix Server needs to be used to run the Downgrade. For example, if downgrading Flix from 6.1.0 to 6.0.5, use Flix Server 6.1.0 to run the downgrade from database version 12 to database version 5.

Adding Servers

To add an additional server to an existing Flix installation:

1.   Follow the steps from Installing and Managing Flix Server.
2.   In the mysql_hostname parameter, make sure the new server is configured to use the same database as the other Flix Server(s). For example:

mysql_hostname: db1.mycompany.com

There is no need to upgrade the database schema as the Flix database was already populated during the initial setup.

Tip:  You can check if a server has been added by going to Flix > Management Console > Servers in your Flix Client. See Server Management for more information.

Migrating Assets When Switching to a New Assets Directory

After changing the asset directory option in the config.yml file, you will need to migrate the data from the original assets directory to the new one.

Assets directories are named with their server identification, for example '8c17bef2-2fd9-439b-a5cf-8a1b082ee9d3'. To migrate your assets from their previous assets directory, run the server using the --import-from flag, pointing Flix Server to the old assets directory to import data from. Flix Server imports everything from the specified old assets directory to the new one now specified in the config.yml file by the asset_directory option.

For example, if the previous asset directory was '/mycompany/assets/directory' and your server ident was '8c17bef2-2fd9-439b-a5cf-8a1b082ee9d3', you would use the following command:

./flix_server --import-from /mycompany/assets/directory/8c17bef2-2fd9-439b-a5cf-8a1b082ee9d3

Your assets are copied to the new asset directory. If files already exist in that directory, they will not copied to avoid duplication.

Server Management

You can check the list of servers running Flix by going to File > Management Console > Servers in your Flix Client. Here you can see the server ID, which version of Flix each server is running and download logs for Foundry support if needed.