Share

Project Server Configuration (Linux)

A project server is a set of system services that provide Flame Family products access to projects. It simplifies project management and collaborative workflows by eliminating the need to create project data on the Flame, Flare, or Flame Assist workstations and providing a single access point to manage the projects.

In this topic, you learn about creating a project server that hosts Flame projects for connected Flame Family products running on Linux or macOS systems. For instructions on configuring client systems, refer to Import via NFS.



Hardware Specifications

Here are the minimal hardware specifications for a project server.

Components Minimal Requirements
CPU 8 physical cores
RAM 32 GB
Network bandwidth 1 Gbit/sec
Metadata volume 500 GB of SSD storage

The project server does not require a GPU since it is not used to decode media.



Project Structure

A project consists of a set of managed media* files, a PostgreSQL database schema (also known as namespace) managing these media files, a set of catalog files managing clips and compositions, a set of custom presets, other module-specific files known as setups, and backups. The PostgreSQL schema of a project is stored in the PostgreSQL database located under /var/opt/Autodesk/pgsql. All the other files are accessible under the project home directory specified at project creation. You can customize the location of the setups and media storage. A symbolic link is then created under the project home for each of these custom locations.

Folder Default Location User-definable Link to user-defined path
PostgreSQL database /var/opt/Autodesk/pgsql Yes /var/opt/Autodesk/pgsql
Project Home /var/opt/Autodesk/flame/projects/<project name> Yes n/a
Project Catalog <project home>/catalog No n/a
Project Backups <project home>/catalog_AUTO_BACKUP No n/a
Project Setups <project home>/setups Yes <project home>/setups
Project Media <project home>/media Yes <project home>/media

* Managed media: Renders, cached media and external source files descriptors are "managed" media files by opposition to external media files such as imported sources or exports. Flame and its services control the lifetime of managed files i.e. Flame will eliminate them when they are no longer used.

File System Constraints

User-defined paths do not need to reside on the Project Server. They can exist on network mounted storage devices with certain restrictions. The PostgreSQL database can be stored on a NFS mount point provided it is exported with the sync option and mounted with the hard option. The project home (and consequently the catalog files) have the same restrictions but, in addition, the host file system must support symbolic links, hard links and high-precision time stamps with sub-second accuracy**. The setups file system should also support symbolic and hard links. The media file system must support hard links. cifs / smbfs network file systems are not supported.

Keeping massive media files separate from project metadata is recommended. This configuration improves performance in a collaborative environment. Learn about attaching a SAN or NAS to the project server in section Configure the Project Server / Attach the Media Storage.

** Time stamp accuracy: Flame relies on time stamps to detect external updates. With lower accuracy time stamps, the application doing the update will wait to ensure other apps can see a change. This can affect performance and, in extreme cases, data integrity.



Number of Clients per Project Server

The hardware specifications are the minimal requirements for a project server to serve five clients while minimizing network congestion and issues with storage quality of service. Clients can be any combinations of Autodesk Flame Family products and Burn nodes, such as one Flame, two Flares, and two Burn nodes.

The larger the number and size of hosted projects and concurrent clients, the more powerful the system must be. Based on your system configuration, storage throughput, and other factors, this guideline can vary. Be prepared to scale the system capabilities to match your production requirements. For example, to serve up to 8 Flames and 8 Burns, your server may need 192 GB of RAM, 2 TB of NVMe storage, and a 50 Gb/s network.



Set Up a Project Server on Linux

Flame Family products installed on Linux contain the script INSTALL_PROJECTSERVER. This script installs and configures the software to run as a project server.

This script is best used on a headless standalone system that will host projects for a small workgroup of Flame Family systems. No GPU is required on the system that runs the project server. It installs the minimum set of services required for sharing projects from a central location. During installation, you can redirect the storage of your project metadata to a different but persistent mount point.

Install a Project Server

Important: The workstation must be connected to the internet to successfully install a project server.
  1. Install the Autodesk Linux ISO on the workstation.

  2. Install the DKU without the NVIDIA kernel modules:

    INSTALL_DKU --nonvdriver
  3. Once the DKU is installed, restart the workstation.

  4. Copy the Flame distribution to the workstation and untar it.

    cp autodesk_<Flame_family_product>_<version>_LINUX64.tar /var/tmp
    cd /var/tmp
    tar xvf autodesk_<Flame_family_product>_<version>_LINUX64.tar
  5. Go to the location of the project server script.

    cd autodesk_<Flame_family_product>_<version>_LINUX64
  6. In a shell, run ./INSTALL_PROJECTSERVER --help to see a list of available options. The locations of project homes, database, configuration files, and logs are customizable, offering flexibility in configuring the project server to suit your needs.

    Usage Examples:

    • Basic Installation: In this example, the project server stores its data on the server's system drive and also functions as the Backburner manager for the workgroup. It is assumed that the operating system was installed from an Autodesk Rocky Linux ISO and that the DKU was installed with the --nonvdriver option.

       ./INSTALL_PROJECTSERVER --backburner
      Note: While the project server does not require the NVIDIA driver, it needs the NVIDIA graphics libraries. If the DKU is not installed, you can have INSTALL_PROJECTSERVER perform their installation by providing the NVIDIA installer:
       ./INSTALL_PROJECTSERVER --backburner --nvinst /path/to/NVIDIA-Linux-x86_64-550.90.07.run
    • Dedicated Project Storage: In this example, the project database, metadata and media cache use dedicated local storage. The project server also acts as a media cache server. /mnt/server1/flame and /mnt/server1/media are distinct mount points. This configuration is useful for cloud deployments with ephemeral project server instances, where the dedicated storage can be reattached to a new instance.

       ./INSTALL_PROJECTSERVER --dataroot /mnt/server1/flame --projectsroot /mnt/server1 \
          --nfspaths /mnt/server1/flame/projects --nfsmediapaths /mnt/server1/media
      • Project home folders will be stored under /mnt/server1/flame/projects.
      • The database, configuration, and log files will be stored under /mnt/server1/flame
      • INSTALL_PROJECTSERVER will automatically add the projects root to the NFS exports. Since the projects folder is explicitly exported, it is recommended to remove /mnt/server1 from /etc/exports. Run sudo exportfs -va after editing /etc/exports.
      • After installation, you may want to adapt your sysconfig.cfg to these new paths. Refer to Centralised Components for more information.
  7. After deploying a new Project Server, you may see the following message indicating the need to create a database:

    No local database detected.
    You should create a database using /opt/Autodesk/bin/igniter. 

Check for Installed Versions

To check which version of Project Server you have installed, use this command to list the installed packages:

   rpm -qa 'autodesk.project.server*'

You can also use the following command that will print only the version down to the build number:

   rpm -qia 'autodesk.project.server*' | awk -F: \
      '$1 ~ /Version/ { v=$2 } $1 ~ /Release/ { r=$2 } END { printf("%s.%d\n", v, r) }'

Configure the Project Server

Once you have created the project server, configure it using the following steps.

  1. Stop Autodesk Backburner and Autodesk Stone & Wire services

    sudo systemctl stop adsk_backburner
    sudo systemctl stop adsk_sw
  2. Set the host name of the project server

    sudo hostnamectl set-hostname --static <Your-server-name>
  3. Add the project server to the identity management system, if you have one.

    Follow the instructions for your identity management system.

  4. Configure Backburner Manager to run without servers

    In a shell, enter the following.

    cat << EOF | sudo /opt/Autodesk/backburner/backburnerConfig
    y
    n
    EOF
  5. Restart Autodesk Backburner and Autodesk Stone & Wire services

    sudo systemctl start adsk_backburner
    sudo systemctl start adsk_sw

Attach the Media Storage

In a workgroup configuration, your media is stored on shared storage such as a NAS or SAN. Follow these steps to mount it on the server to use it as your media storage. Note this is not strictly necessary unless you wish to use Flame Family tools that require access to the media from the project server, such as ice.

In a shell, run the following commands.

  1. Install autofs.

    sudo dnf install autofs
  2. Create the directory where the storage will be mounted and under which the projects will create their media folders. Note this path must be the same on all hosts participating in the workgroup. E.g.:

    sudo mkdir -p /mnt/nas/media/projects
  3. Setup the NAS mount point. Use the command sudo vi /etc/auto.direct and add the following line to the file

    /mnt/nas/media/projects  -rw,noatime,nodiratime,bg   nas:/Volumes/flame_media
    Note: The above is an example of an NFS exported file system from server nas. Different shared storage solutions will use slightly different syntax. Adapt this line to your setup.
  4. Set up the automount. Use the command sudo vi /etc/auto.master and add the following line at the end of the file.

    /-  auto.direct
  5. Enable and restart autofs.

    sudo systemctl enable autofs
    sudo systemctl start autofs

Was this information helpful?